请告知..在以下代码中(经过测试。可以正常工作)
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
}
}
我期待看到一个带有哈希表的数组列表保存为数组元素,第一个带有键“Key1”和“Key2”,第二个带有键“Key3”和“Key4”。我得到一个包含两个哈希表的数组列表,但是哈希表中的值和键对于这两个表都是“Key3”和“key4”。有人可以解释一下。如果这是一个参考问题,如何在不创建多个哈希表的情况下将两个哈希表放入不同的数组元素中(我必须在 for 循环中运行代码以添加多个哈希表。每次创建单独的哈希表并不好听好的)