java - 将 hashMap 存储在数组中

标签 java hashmap

我想将 HashMap 存储在数组中。我正在尝试制作一个 HashMap,用特定信息填充它并将其存储到数组的一个元素中。然后我想用不同的信息覆盖该 HashMap 中的信息,然后将其存储到该数组的不同元素中。我想多次这样做。执行此操作的最佳方法是什么?

现在我有:

HashMap[][] location = new HashMap[columns][rows];
HashMap <String, String> area = new HashMap <String, String> ();

public Map() {

    area.put("description", "You are in the upper left\n");
    location[0][0] = area;

    area.put("description", "You are in the upper middle\n");
    location[1][0] = area;
}

问题是现在 location[0][0] 和 location[1][0] 具有相同的描述。

最佳答案

location[0][0]和location[1][0]持有相同的区域指针

你应该这样做

location[0][0] = createArea("You are in the upper left\n");
location[1][0] = createArea("You are in the upper middle\n");



HashMap <String, String> createArea(String desc){
    HashMap <String, String> area = new HashMap <String, String> ();
    area.put("description", desc);
    return area;
}

关于java - 将 hashMap 存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12961095/

相关文章:

java - Java 中破坏逆变边界的安全解决方法?

java - 映射为 ConcurrentHashMap 中的值

java - 我尝试将 ExpandableListView 与自定义适配器一起使用,但无法显示任何内容

java - 如何让 ComputeIfPresent 在 Map 中与 Map 一起工作?

java - 为什么不会阻塞直到队列变为非空的方法?

java - ResultSet 和 String 变量问题

java - 在 Jboss EAP 7.2.0.GA 中处理 JSON 序列化

java - 正则表达式匹配android java中的数字

data-structures - 调整哈希表大小的最佳方法

java - textArea.setText() 错误输出