您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: