2010-03-07 68 views
1

在使用HashMap的java中,他們使用Iterator類。但我不明白他們在HashMap中使用Iterator的目的是什麼?Iterator用於java?

回答

1

迭代器應該用於從任何類型的集合中讀取元素,如ArrayList,HAshMap等。 它們將幫助我們瀏覽Iterator對象,如果它們不在那裏,我們如何從集合中檢索元素?

2

對於迭代,也許?

一般來說,迭代器被用來「記住」集合中的一個點,這樣就可以做一些事情來一個當前元素,然後移動迭代器到下一個元素,等等...

當你寫這樣

for(Value val : collection) { doSomething(val); } 

您正在使用隱式集合的迭代器代碼。 這大致相當於在Map寫東西像

Iterator<Value> i = collection.iterator(); 
while(i.hasNext()) 
{ 
    Value val = i.next(); 
    doSomething(val); 
} 
3

條目由鍵/值對。迭代器可通過所述一組密鑰(Map.keySet().iterator())時,設定值(Map.values().iterator(),或兩者(通過entrySet()方法和Map.Entry<K,V>接口)被用來循環

0

可以通過鍵迭代:

myMap.keySet().iterator(); 

或者,您可以通過值迭代:

myMap.values().iterator(); 

由HashMap中提供的這兩個迭代器允許你從地圖值(例如),即使你不知道的鑰匙甚至得到的列表。該鍵。

0

迭代器提供了一種以某種順序遍歷所有元素的方法。對於HashMap不太有用,但對於TreeMap迭代器提供了一種以遞增順序遍歷元素的方法。對於LinkedHashMap也是如此,可以重複它插入的方式。