アドバイスしてください..次のコードで(テスト済み。正常に動作します)
public class Exp_Test {
public static void main (String[] args) {
ArrayList<Hashtable> objArrlistHshTbl = new ArrayList<Hashtable>();
Hashtable objHashTable = new Hashtable();
objHashTable.put("Key1", "Value1");
objHashTable.put("Key2", "Value2");
objArrlistHshTbl.add(objHashTable);
objHashTable.clear();
objHashTable.put("Key3", "Value3");
objHashTable.put("Key4", "Value4");
objArrlistHshTbl.add(objHashTable);
System.out.println("Hi");//put a breakpoint here to check the values
}
}
配列要素として保存されたハッシュテーブルの配列リストが表示されることを期待しています.1つ目はキー「Key1」と「Key2」、2つ目はキー「Key3」と「Key4」です。2 つのハッシュ テーブルを含む配列リストを取得しますが、ハッシュ テーブル内の値とキーは、両方のテーブルの 'Key3' と 'key4' として取得されます。誰か説明してくれませんか。それが参照の問題である場合、複数のハッシュ テーブルを作成せずに 2 つのハッシュ テーブルを異なる配列要素に取得するにはどうすればよいですか (複数のハッシュ テーブルを追加するには、for ループ内でコードを実行する必要があります。良い)