[英]How to access String within an ArrayList within an ArrayList within a HashMap?
[英]How do I access individual values within a string array within a Hashmap?
我對地圖的聲明如下:
Map<Integer, String[]> mapVar = new HashMap<Integer, String[]>();
然后通過創建幾個字符串數組並將其與相應的Integer放入我的地圖中來對其進行初始化。
然后,我想遍歷地圖中String數組中的所有元素。 我嘗試了以下兩種可能性,但它們沒有給我正確的價值:
for(int ii =0; ii < 2; ii++)
System.out.println(((HashMap<Integer, String[]>)mapVar).values().toArray()[ii].toString());
和
mapVar.values().toString();
我也知道數組和Integer可以很好地進入映射,但我只是不知道如何訪問它們。
謝謝
嘗試
for (String[] value : mapvar.values()) {
System.out.println(Arrays.toString(value));
}
for (String[] strings : mapVar.values()) {
for (String str : strings) {
System.out.println(str);
}
}
這將打印Map
中所有數組中的所有Strings
。
for (Map.Entry<Integer, String[]> entry : mapVar.entrySet()) {
for (String s : entry.getValue()) {
// do whatever
}
}
如果您希望能夠以一個單位訪問映射中的所有 String
值,而不是處理中間數組,建議您使用Guava Multimap :
ListMultimap<Integer, String> multimap = ArrayListMultimap.create();
// put stuff in the multimap
for (String string : multimap.values()) { ... } // all strings in the multimap
當然,您也可以訪問與特定鍵關聯的String
列表:
List<String> valuesFor1 = multimap.get(1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.