一、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适用于需要较为复杂的操作,如添加、删除等。