java - HashMap 的多个实例

标签 java hashmap

是否可以使用相同的键创建多个 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/

相关文章:

java - 如何限制泛型类中允许为 "T"的类型?

java - 操作数组列表

java - kotlin 中此 XML 响应的 POJO 对象

map - 从两个或更多序列创建映射序列

Java 负载因子权衡

java - IDocumentFilter 使用 HashMap 作为字典 Menu 来验证 JTextField

java - 更新 GUI 面板,Java

java - 没有字段的抽象类上的 NotSerializableException

java - 为什么 HashMap 不保证 map 的顺序会随着时间的推移保持不变

hashmap - 使用数据库中的值填充枚举