Java集合詳解(三)
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迴圈)
相關文章
- Java集合詳解(三):LinkedList原理解析Java
- Java集合詳解(三):HashMap原理解析JavaHashMap
- Java 集合詳解 | 一篇文章解決Java 三大集合Java
- Java集合詳解(一):全面理解Java集合Java
- Java集合詳解(二)Java
- java基礎詳解-集合Java
- 【Java集合】單列集合Collection常用方法詳解Java
- java集合學習(一):詳解ArrayListJava
- Java中的併發集合詳解Java
- Java內功心法,Set集合的詳解Java
- Java集合詳解(五):Hashtable原理解析Java
- Java集合詳解(二):ArrayList原理解析Java
- Kotlin——集合詳解Kotlin
- Java集合詳解8:Java集合類細節精講,細節決定成敗Java
- Java集合中List,Set以及Map等集合體系詳解(史上最全)Java
- Java核心知識體系6:集合框架詳解Java框架
- 【詳解】JNI (Java Native Interface) (三)Java
- Redis有序集合詳解Redis
- Java集合詳解2:一文讀懂Queue和LinkedListJava
- java集合原始碼分析(三):ArrayListJava原始碼
- 詳解 Java 中的三種代理模式Java模式
- 一文看懂Java集合(詳細)Java
- 超詳細的Java面試題總結(三)之Java集合篇常見問題Java面試題
- Java集合詳解6:這次,從頭到尾帶你解讀Java中的紅黑樹Java
- JavaScript --- Map集合結構詳解JavaScript
- JavaScript — Map集合結構詳解JavaScript
- Redis 有序集合(zset)命令詳解Redis
- Java集合類初步瞭解Java
- Java面試題-集合框架篇三Java面試題框架
- Java虛擬機器詳解(三)------垃圾回收Java虛擬機
- Java集合詳解3:Iterator,fail-fast機制與比較器JavaAIAST
- Nowcoder Girl 2017題目集合詳解
- echarts 柱狀圖 詳解與使用集合Echarts
- Java註解詳解Java
- Java 註解詳解Java
- Java訊息佇列三道面試題詳解!Java佇列面試題
- 【Java集合原始碼剖析】Java集合框架Java原始碼框架
- 【JAVA集合】JAVA集合框架及其常用方法Java框架