Iterator在java中使用?

时间:2010-03-07 06:36:58

标签: java iterator

在使用HashMap的java中,他们使用的是Iterator类。但我无法理解他们在HashMap中使用Iterator的目的是什么?

5 个答案:

答案 0 :(得分:3)

Map中的条目由键/值对组成。迭代器可用于遍历一组键(Map.keySet().iterator()),一组值(Map.values().iterator()或两者(通过entrySet()方法和Map.Entry<K,V>接口)

答案 1 :(得分:2)

对于迭代,也许?

通常,迭代器用于“记住”集合中的某个点,以便您可以对当前元素执行某些操作,然后将迭代器移动到 next 元素,等等......

当你编写像

这样的代码时
for(Value val : collection) { doSomething(val); }

您隐式使用集合的迭代器。 它大致相当于编写像

这样的东西
Iterator<Value> i = collection.iterator();
while(i.hasNext())
{
    Value val = i.next();
    doSomething(val);
}

答案 2 :(得分:1)

迭代器应该用于读取任何类型的集合中的元素,如ArrayList,HAshMap等。 它们将帮助我们浏览Iterator对象,如果它们不存在,我们如何从集合中检索元素?

答案 3 :(得分:0)

您可以遍历键:

myMap.keySet().iterator();

或者你可以遍历这些值:

myMap.values().iterator();

HashMap提供的这两个迭代器允许您从地图中获取值(例如),即使您不知道密钥。甚至可以获得密钥列表。

答案 4 :(得分:0)

迭代器提供了一种以某种顺序遍历所有元素的方法。对HashMap不是很有用,但对于TreeMap,迭代器提供了一种以递增顺序遍历元素的方法。类似地,对于LinkedHashMap,可以迭代它的插入方式。