一、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適用於需要較為複雜的操作,如添加、刪除等。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/288965.html