2011-11-04 13 views
1

我有這樣的:如何獲取Android上Java的HashMap循環內容?

Map<Integer, String[]> strs = new HashMap<Integer, String[]>(); 
for (int population = 0 ; population < 20 ; population++) { 

strs.put(0, morning_food); 
strs.put(1, snack1_food); 
strs.put(2, lunch_food); 
strs.put(3, snack2_food); 
strs.put(4, nite_food); 

for (String[] value : strs.values()) { 
    for (String val : value) { 
     Log.d("", val); 

    } 
} 

} 

這將顯示的可疑交易報告的20次的內容,我怎麼能得到第一件可疑交易報告或者可疑交易報告第十四要不?我曾嘗試將它保存到數組,但它總是顯示最後一個strs,無論我想要什麼索引,任何解決方案? Thx

回答

1

當您使用Map.put時,它將覆蓋任何已經與該密鑰關聯的值。當您撥打Map.put(0, ...) 20次時,您仍然只有一個與密鑰0相關的值,最近的值傳遞給put

如果您需要存儲20個與單個密鑰相關的不同值,請使用Guava的Multimap

Multimap

-1

使用LinkedHashMap,如果你通過它要循環中設定的順序

+0

當然,你可以,你只是不能保證我的意思是,只有,沒有正確地寫任何順序 –

+0

:P – Optimus