您的位置:

Java List遍历方式总结

一、for循环遍历

使用for循环遍历List,是一种最基础、最简单的方法。这种方法除了逐一遍历List中的每个元素外,还可以通过调用get()方法获取指定位置上的元素。


List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
for(int i=0; i<list.size(); i++){
    System.out.println(list.get(i));
}

以上代码片段使用for循环和get()方法遍历了List中的所有元素。输出结果如下:


Java
Python
C++

二、Iterator迭代器遍历

在使用Iterator遍历List时,可以通过调用hasNext()方法判断是否还有下一个元素,如果有则调用next()方法获取该元素。此外,也可以使用remove()方法删除元素。


List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()){
    String str = iterator.next();
    System.out.println(str);
    if(str.equals("C++")){
        iterator.remove();
    }
}
System.out.println(list);

以上代码片段使用Iterator迭代器遍历List中的所有元素,同时删除了元素"C++"。输出结果如下:


Java
Python
[C++, PHP]

三、foreach循环遍历

使用foreach循环遍历List,是一种简化版的for循环,其只包含了循环变量和可遍历元素,比for循环更加简洁。


List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
for(String str : list){
    System.out.println(str);
}

以上代码片段使用foreach循环遍历了List中的所有元素。输出结果如下:


Java
Python
C++

四、Lambda表达式遍历

在Java 8及以上版本中,可以使用Lambda表达式遍历List。Lambda表达式让代码更加简洁易读。


List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
list.forEach(str -> System.out.println(str));

以上代码片段使用Lambda表达式遍历了List中的所有元素。输出结果如下:


Java
Python
C++

五、ListIterator遍历

ListIterator是List接口的内部迭代器。相比于Iterator,ListIterator可以向前和向后遍历,还能修改元素,添加元素等。


List<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
ListIterator<String> listIterator = list.listIterator();
while(listIterator.hasNext()){
    String str = listIterator.next();
    System.out.println(str);
}
listIterator.add("PHP");
System.out.println(list);

以上代码片段使用ListIterator遍历了List中的所有元素,同时在遍历中添加了元素"PHP"。输出结果如下:


Java
Python
C++
[Java, Python, C++, PHP]

总结

以上就是几种Java List遍历的常见方法。对于不同的需求,可以选择不同的方法来遍历List。for循环和foreach循环适用于简单的遍历;Iterator迭代器和ListIterator适用于需要较为复杂的操作,如添加、删除等。