Iterable和Iterator是Java集合框架中最常见的两个接口,它们提供了遍历集合的标准方式。Iterable是一个接口,代表一个可迭代的对象,而Iterator是一个接口,代表一个迭代器,可以逐个访问Iterable中的元素。
Iterable接口定义了一个iterator()方法,该方法返回一个Iterator对象,该对象可以逐个访问Iterable中的元素。Iterator接口定义了hasNext()、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++
Iterable和Iterator是Java集合框架中非常重要的两个接口,它们提供了遍历集合的标准方式。for-each循环和while循环都可以用来遍历集合,但for-each循环更加简单方便。在实际项目中,通常会使用for-each循环来遍历集合。