簡體   English   中英

如何在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM