我想将哈希图存储在数组中。我正在尝试仅制作一个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 leftn");
location[0][0] = area;
area.put("description", "You are in the upper middlen");
location[1][0] = area;
}
问题是现在位置[0] [0]和位置[1] [0]具有相同的描述。
位置[0] [0]和位置[1] [0]持有相同的指针
您应该这样做
location[0][0] = createArea("You are in the upper leftn");
location[1][0] = createArea("You are in the upper middlen");
HashMap <String, String> createArea(String desc){
HashMap <String, String> area = new HashMap <String, String> ();
area.put("description", desc);
return area;
}
您需要创建一个在每个位置存储的Map
的实例。
public Map() {
Map<String, String> area = new HashMap<String, String>();
area.put("description", "You are in the upper leftn");
location[0][0] = area;
area = new HashMap<String, String>();
area.put("description", "You are in the upper middlen");
location[1][0] = area; }