我正在將String
密鑰和String
值添加到hashmap1
。反過來,我還必須將hashmap1
添加到另一個hashmap2
,作爲其關鍵字爲String
的值。Hashmap未顯示以前添加的字符串
不知何故,hashmap1
覆蓋了所有最後添加的鍵的值。我如何解決這個問題以得到hashmap1
,其中包含我添加的所有值對。 是一個ArrayList
,其中包含我將添加到hashmap1
的值。
al.add("def");
al.add("xyz");
al.add("pqr");
al.add("mno");
for(int i=0; i<al.size();i++){
map.put("positionTitle", al.get(i).toString());
System.out.println(map.get("positionTitle"));
positionTitles.put(String.valueOf(i), map);
System.out.println("Value in the position title while in the loop "+positionTitles.get(String.valueOf(i)).get("positionTitle"));
}
for(String s: positionTitles.keySet()){
System.out.println("key in the position title:" +s);
for(String a: positionTitles.get(s).keySet()){
System.out.println("Keys in the map in the position title "+a);
System.out.println("Values in the map in position title "+positionTitles.get(s).get(a));
}
}
輸出:
[ABC,DEF,XYZ,PQR,MNO]
ABC
值中的位置的標題,而在循環ABC
DEF
位置titl中的值È而在位置標題環路DEF
XYZ
值,而在迴路中的xyz
PQR
值中的位置的標題,而在循環PQR
MNO
在循環中的位置標題中的值mno
鍵在位置標題:0
密鑰中的位置標題地圖POSITIONTITLE
值在位置標題MNO地圖
在位置的標題密鑰:1
密鑰在地圖上的位置標題位置標題
位置標題mno中的地圖值
鍵的位置名稱:2個
密鑰中的位置標題地圖POSITIONTITLE
值在位置標題MNO地圖
在位置的標題密鑰:3
鍵在在標題位置在地圖POSITIONTITLE
價值觀的位置標題MNO地圖
在斷定關鍵離子標題:4個
密鑰中的位置標題地圖POSITIONTITLE
值在位置標題地圖MNO
這很不清楚?你想達到什麼目的? – Alboz 2014-10-03 22:43:01
您總是在「positionTitle」(鍵)中輸入您在al上迭代的值,因此當第一個for循環結束時,它只保存最後一項的值,即「al」,它是mno。這就是它用最後一個值覆蓋的原因。如果您不更改密鑰,它將始終將值保存在同一個密鑰中(map.put(「positionTitle」,al.get(i).toString())始終將al.get(i)保存在「 positionTitle「鍵) – monica 2014-10-03 22:48:45