是否可以使用相同的键创建多个 HashMap 实例?例如:
while(br.readLine != ""){
HashMap<Integer,String> hm=new HashMap<Integer,String>();
String[] Values = readLine.split(":");
hm.put(1,Value[1]);
hm.put(2,Value[2);
hm.put(3,Value[3]);
}
在这种情况下,是否会为循环的每次迭代创建新的 hashmap 实例,还是会覆盖它?
如果它被覆盖,如何在这种情况下实现 map 的多个实例?
最佳答案
HashMap
的新实例将为循环的每次迭代创建,并且在迭代结束时将有资格进行 GC,因为没有对其的引用。
您可以创建一个List<HashMap<Integer, String>>
在循环外部并继续将新创建的映射添加到循环中的此列表中,以便在循环外部也可以访问它们。
PS:如果“覆盖”是指“覆盖”,那么“不”,旧的 hashmap 实例不会“重用”。对于每次迭代,都会创建一个新实例。
关于java - HashMap 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42292063/