Java集合詳解(三)

薛亮亮1006發表於2020-11-01

Java集合詳解(三)

Iterator與ListIterator

Iterator迭代器

迭代器的定義:public interface Iterator {}
Iterator:是一個介面,它是集合的迭代器,集合可以通過Iterator遍歷集合中的元素!
迭代器的方法:
hasNext() :判斷當前迭代器中是否有下一個可以遍歷元素,如果存在,則返回true
next() :返回迭代中的下一個元素
remove() : 從底層集合中刪除此迭代器返回的最後一個元素

注 意:next()方法不能重複呼叫,如果重複呼叫,如果重複呼叫則會出現NoSuchElementException異常

/*
	使用迭代器遍歷集合
*/
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayLlistDemo {
	public static void main(String[] args) {
		ArrayList list = new ArrayList();
		list.add("hello");
		list.add("java");
		list.add("world");
		//使用迭代器遍歷集合
		Iterator it = list.iterator();
		//判斷當前是否存在存在下一個元素
		while(it.hasNext()) {
			Object next = it.next();
			System.out.println(next);
		}
	}
}
ListIterator列表迭代器

ListIterator:列表迭代器,ListIterator繼承於Iterator介面,允許雙向遍歷和修改元素

ListIterator listIterator():List集合的專有遍歷方式 :列表迭代器

正向遍歷:

​ boolean hasNext():判斷是否有下一個元素

​ Object next() :獲取下一個元素

逆向遍歷

​ boolean hasPrevious():判斷是否有上一個元素

​ Object previous():獲取前一個元素

注意:逆向遍歷前先必須進行正向遍歷!

import java.util.ArrayList;
import java.util.ListIterator;
/*
 * 使用ListIterator遍歷集合,
 * */
public class ListIteratorDemo {
	public static void main(String[] args) {
		ArrayList<String> list = new ArrayList<String>();
		list.add("1");
		list.add("2");
		list.add("3");
		list.add("4");
	
	 ListIterator<String> lit = list.listIterator();
	
	//使用ListIterator遍歷集合
	 //正序遍歷,從前向後
	 while(lit.hasNext()) {
		 String next = lit.next();
		 System.out.println(next);
	 }
	 System.out.println("----------------");
	 //逆序遍歷,從後向前
	 while(lit.hasPrevious()) {
		 String previous = lit.previous();
		 System.out.println(previous);
	 }
	}	
	
}

迭代器的注意事項:
1)Object next()獲取當前集合的元素(),不能使用多次,使用一次即可,獲取所有元素資訊
2)能使用for迴圈,不推薦(因為以後集合中元素可能不知道個數,使用while迴圈)

相關文章