List集合五種遍歷方式


List集合五種遍歷方式

1、Iterator接口 —— java集合中一員

(1)包:java.util.Iterator

(2)功能:主要用於迭代訪問(遍歷)Collection中的元素

Iterator對象稱為迭代器

(3)方法:

public E next():返回迭代的下一個元素。

public boolean hasNext():如果仍有元素可以迭代,則返回true

2、普通for循環遍歷(類似於數組遍歷)

3、增強for

​ 增強for循環(也稱for each循環)是JDK1.5以后出來的一個高級for循環,專門用來遍歷數組和集合的。

​ 它的內部原理其實是個Iterator迭代器,所以在遍歷的過程中,不能對集合中的元素進行增刪操作。

4、List集合自有迭代器

List 集合額外提供了一個 listIterator()方法,該方法返回一個 ListIterator對象, ListIterator接口繼承了 Iterator接口

ListIterator<E> listIterator(int index)返回列表中元素的列表迭代器(按適當順序),從列表的指定位置開始。指定的索引表示 next 的初始調用所返回的第一個元素。previous 方法的初始調用將返回索引比指定索引少 1 的元素。

​ 參數index-- 從列表迭代器返回的第一個元素的索引(通過調用 next 方法)

5、Lambda

​ Lambda表達式是Java SE 8中一個重要的新特性。lambda表達式允許你通過表達式來代替功能接口。 lambda`表達式就和方法一樣,它提供了一個正常的參數列表和一個使用這些參數的主體(body,可以是一個表達式或一個代碼塊)。

格式:

(parameters) -> expression(parameters) ->{ statements; }

		//使用多態方式創建對象
		List<String> list = new ArrayList<>();
		//添加元素到集合
		list.add("派大星");
		list.add("海綿寶寶");
		list.add("章魚哥");
		list.add("蟹老板");
		
		//輸出集合看一下
		System.out.println(list);
		
		//1、使用Iterator接口遍歷
		Iterator<String> it = list.iterator();
		while(it.hasNext()){//判斷是否有迭代元素
			System.out.println(it.next());//輸出迭代出的元素
		}
		
		System.out.println("=============================");
		
		//2、普通for循環遍歷
		for(int i = 0; i < list.size(); i++){
			//通過get方法傳遞索引獲取集合元素
			System.out.println(list.get(i));
		}
		System.out.println("=============================");
		
		//3、增強for
		for(String a : list){
			System.out.println(a);
		}
		
		System.out.println("=============================");
		
		//4、List集合自帶迭代器
		ListIterator<String> listli = list.listIterator();
		while(listli.hasNext()){
			System.out.println(listli.next());
		}
		
		System.out.println("=============================");
		
		//5、Lambda
		list.forEach(
				item -> System.out.println(item)
				);
		


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM