本文主要是总结一下Java集合类中List接口的遍历方式,以下面的list为例,为大家讲解遍历list的6种方式。
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
1.直接输出
由于ArrayList对toString()方法进行了重写,所以可以通过System.out.println()
直接输出
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
list.add(4);
list.add(5);
System.out.println(list);
}
2.for循环遍历
ArrayList也可以通过for循环遍历,下标从0开始,ArrayList的大小可以通过size()方法获取到,并且ArrayList提供了get(index)方法用来获取对应下标的元素。
代码实现如下:
for (int i = 0; i < list.size(); i++) {
System.out.print(list.get(i)+" ");
}
3.foreach遍历
foreach
语法格式如下:
for(元素类型 变量: 数组或集合类){
对元素进行处理
}
遍历方式如下:
for (Integer x: list){
System.out.print(x+" ");
}
4.使用Iterator遍历
首先通过调用 List 的 iterator() 方法获取 Iterator 实例,然后使用 Iterator 的 hasNext() 和 next() 方法遍历元素:
Iterator<Integer> it1 = list.iterator();
while (it1.hasNext()){
System.out.print(it1.next()+" ");
}
5.使用ListIterator遍历
ListIterator 是 Iterator 的子接口,专门用于 List 的遍历。它不仅支持正向遍历,还支持反向遍历,并且可以在遍历过程中进行元素的添加、修改和删除。
与使用ListIterator和Iterator类似,先通过listIterator() 方法获取 ListIterator 对象,使用 hasNext() 和 next() 方法进行正向遍历。
ListIterator<Integer> it2 = list.listIterator();
while (it2.hasNext()){
System.out.print(it2.next()+" ");
}
6.使用ListIterator逆序遍历
通过ListIterator逆序遍历时,在调用listIterator() 方法时要传入 list的大小,然后通过使用 hasPrevious() 和 previous() 方法进行反向遍历
ListIterator<Integer> it3 = list.listIterator(list.size());
while (it3.hasPrevious()){
System.out.print(it3.previous()+" ");
}