迭代器主要是为了支持容器类的遍历, 发展历程如下.
如果你用的是Java 1.5之前支持的类库, 那么很可能采用的是如下的做法来遍历集合元素:
使用iterator()
要求容器返回一个Iterator
, Iterator
将准备好返回序列的第一个元素;使用next()
获得序列中的下一个元素;使用hasNext()
检查序列中是否还有元素;使用remove()
将迭代器返回的元素删除.以下是一个实例:
List<String> strs = Arrays.asList("a", "b", "c");// Java 1.5之前的做法Iterator<String> iterator = strs.iterator();while (iterator.hasNext()) { String str = (String)iterator.next(); out.PRintln(str);}Iterable
是Java 1.5的新特性, 主要是为了支持forEach
语法, 使用容器的时候, 如果不关心容器的类型, 那么就需要使用迭代器来编写代码. 使代码能够重用.
使用方法很简单:
List<String> strs = Arrays.asList("a", "b", "c");for (String str: strs) { out.println(str);}使用接收lambda表达式的forEach
方法进行快速遍历.
新闻热点
疑难解答