Iterable和IteratorJava集合框架中最常见的两个接口提供了标准的遍历集合方法。Iterable是一个代表可迭代对象的接口,而Iterator是一个接口,代表一个迭代器,可以逐个访问Iterable中的元素。
Iterable接口定义了iterator()方法,该方法返回Iterator对象,可以逐个访问Iterable中的元素。hasnext()定义了Iterator接口、next()和remove()三种方法,hasNext()方法返回一个布尔值,指示迭代器是否有下一个元素,next()方法返回迭代器中的下一个元素,remove()方法删除迭代器中的当前元素。
使用Iterable和Iterator来收集遍历非常简单,只需编写一个for-each循环即可。for-each循环的语法如下:
for (元素类型 元素变量 : Iterable对象) { // 操作每个元素 }
例如,以下代码使用for-each循环来遍历List集合:
List<String> list = new ArrayList<>(); list.add("Java"); list.add("python"); list.add("c++"); for (String language : list) { System.out.println(language); }
输出结果为:
Java Python C++
Iterator也可用于遍历集合,只需编写while循环即可。while循环的语法如下:
while (迭代对象.hasNext()) { // 对当前元素进行操作 迭代器对象.next(); }
例如,以下代码使用while循环来遍历List集合:
List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("C++"); Iterator<String> iterator = list.iterator(); while (iterator.hasNext()) { String language = iterator.next(); System.out.println(language); }
输出结果为:
Java Python C++
在Java集合框架中,Iterable和Iterator是两个非常重要的接口,它们提供了标准的遍历集合方法。for-each循环和while循环都可以用来遍历集合,但是for-each循环更简单方便。实际上for-each循环通常用于项目中的遍历集合。
