本文主要是總結一下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.直接輸出
- 2.for循環遍歷
- 3.foreach遍歷
- 4.使用Iterator遍歷
- 5.使用ListIterator遍歷
- 6.使用ListIterator逆序遍歷
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()+" ");}