我試圖學習和理解HashMap的工作。所以我創建了這個hashmap來存儲某些值,這些值在使用迭代器顯示時給出的輸出爲從HashMap中提取值
1=2
2=3
3=4
等等。這個輸出我使用Iterator.next()
函數獲得。現在我真正懷疑的是,自從Iterator對象返回這個值的類型後,如果我只需要提取上述等式的右側值,那麼是否有任何函數呢?就像一個子串。有沒有什麼辦法可以得到結果爲
2
3
4
任何幫助將不勝感激。提前致謝。
我試圖學習和理解HashMap的工作。所以我創建了這個hashmap來存儲某些值,這些值在使用迭代器顯示時給出的輸出爲從HashMap中提取值
1=2
2=3
3=4
等等。這個輸出我使用Iterator.next()
函數獲得。現在我真正懷疑的是,自從Iterator對象返回這個值的類型後,如果我只需要提取上述等式的右側值,那麼是否有任何函數呢?就像一個子串。有沒有什麼辦法可以得到結果爲
2
3
4
任何幫助將不勝感激。提前致謝。
我會使用類似
Map<Integer, Integer> map = new HashMap<>();
for(int value: map.values())
System.out.println(value);
它的工作。非常感謝。 – 2012-04-16 19:19:39
您正在尋找map.values()
。
Map有一個名爲values()的方法來獲取所有值的集合。 (右側)
同樣,有一個方法調用keySet()來獲得所有鍵的集合。 (左側)
您需要Map#values()方法,該方法返回Collection
。
然後,您可以通過正常方式從此集合中獲取Iterator
。
import java.util.HashMap;
public class Test
{
public static void main(String args[])
{
HashMap < Integer , Integer > map = new HashMap < Integer , Integer >();
map.put(1 , 2);
map.put(2 , 3);
map.put(3 , 4);
for (Integer key : map.keySet())
{
System.out.println(map.get(key));
}
}
}
在大多數情況下,不需要直接與迭代器進行交互。請參閱Peter Lawrey的答案,瞭解如何爲每個循環制作一個。 – unholysampler 2012-04-16 19:19:37