Iterator<E> 接口 迭代器
2018-02-10 18:39
337 查看
Java中的迭代器是Iterator< E>
接口的一个实例。
迭代器可以对集合执行以下三个操作:检查是否有尚未访问的元素。访问集合中的下一个元素。
删除集合的最后访问元素。
我们可以使用Collection接口中的iterator()方法获取集合的迭代器。以下代码创建一个字符串列表,并获取列表的迭代器:List<String> names = new ArrayList<>();
Iterator<String> nameIterator = names.iterator();
hasNext()方法与next()方法:
如果集合中有更多元素要迭代,
hasNext()方法将返回true。否则,它返回false。
next()方法返回集合中的下一个元素。我们应该在调用
next()方法之前调用
hasNext()方法。如果没有,
next()方法会抛出NoSuchElementException异常。通常,
hasNext()和
next()方法在循环中一起使用。 while (nameIterator.hasNext()) {
String name = nameIterator.next();
System.out.println(name);
}
remove( )方法
remove()方法删除
next()方法最后返回的元素。每次调用next()方法只能调用一次
remove()方法。如果对于每个
next()方法或在第一次调用next()之前被多次调用
remove()方法,它会抛出一个
IllegalStateException异常。对
remove()方法的支持是可选的。
remove()方法可能会抛出一个
UnsupportedOperationException异常。
forEachRemaining()方法:
forEachRemaining()方法对集合中尚未由迭代器访问的每个元素执行操作。
迭代器注意事项
迭代器是一次性对象,不能被重用。要再次遍历同一集合的元素,需要调用集合的iterator()方法创建一个新的Iterator。参考资料:https://www.w3cschool.cn/java/java-collections-traversing.html
相关文章推荐
- Collection<E>、Iterable<T>和Iterator<E>接口
- c++ 模板参数做容器参数迭代器报错 vector<T>::const_iterator,typename const报错
- Java框架集合:Collection<E>、Iterable<T>和Iterator<E>接口
- vector<_T>::reverse_iterator 反向迭代器分析
- 源码分析-java-Iterator接口和Iterable<T>接口
- (Boolan)C++设计模式 <十一> ——组合模式(Composite)、迭代器(Iterator)和责任链(Chain of Resposibility)
- 浅学设计模式之迭代器<Iterator>模式
- 初学java之Iterator<E>接口
- java.util.Iterator<E>接口浅析
- 浅学设计模式之迭代器<Iterator>模式
- 接口 Iterator<E> 与 接口 Iterable<T>
- java无重集合Set<T>与迭代器Iterator<T>
- struets标签<S:iterator>迭代器
- 黑马程序员:Java基础总结----接口 Collection<E>&iterator
- Android实战简易教程<五十四>(通过实现OnScrollListener接口实现下拉刷新功能)
- Java 集合深入理解(4):List<E> 接口
- Struts2标签库(4):<s:iterator/>
- 接口List<E>常用实现类分析
- struts2 <s:iterator/>怎样取得循环的索引
- IComparable<T>:泛型接口