关于迭代器:

提供了hasNext()和next()两个方法。

我们可以⼈为地在每⼀个
类中定义 hasNext() 和 next() ⽅法,但这样做会让整个集合体系过于臃肿。于是就有了迭代器。
迭代器是将这样的⽅法抽取出接⼝,然后在每个类的内部,定义⾃⼰迭代⽅式,这样做就规定了整个集合体系的遍历⽅式都是 hasNext() 和 next() ⽅法,使⽤者不⽤管怎么实现的,会⽤即可。迭代器的 定义为:提供⼀种⽅法访问⼀个容器对象中各个元素,⽽⼜不需要暴露该对象的内部细节。
Iterator 主要是⽤来遍历集合⽤的,它的特点是更加安全,因为它可以确保,在当前遍历的集合元素
被更改的时候,就会抛出 ConcurrentModificationException 异常。
如何使用?下面举例:
Map<Integer, String> map = new HashMap();
map.put(1, "Java");
map.put(2, "C++");
map.put(3, "PHP");
Iterator <Map.entry<Integer,String>> iterator = map.entrySet().iterator ();
while(i terator.hasNext() ){
Map.entry<Integer,String> entry = i terator.next();
System.out.println(entry.getKey(),entry.getValue());
}
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐