Java集合中的Iterator迭代器接口詳解
Iterator接口
- 在程序開發(fā)中,經(jīng)常需要遍歷集合中的所有元素。針對這種需求,JDK專門提供了一個接口java.util.Iterator。
- Iterator接口也是Java集合中的一員,但它與Collection、Map接口有所不同。
- Collection接口與Map接口主要用于存儲元素
- Iterator,被稱為迭代器接口,本身并不提供存儲對象的能力,主要用于遍歷Collection中的元素
- Collection接口繼承了java.lang.Iterable接口,該接口有一個iterator()方法,那么所有實現(xiàn)了Collection接口的集合類都有一個iterator()方法,用以返回一個實現(xiàn)了Iterator接口的對象。
- public Iterator iterator(): 獲取集合對應(yīng)的迭代器,用來遍歷集合中的元素的。
- 集合對象每次調(diào)用iterator()方法都得到一個全新的迭代器對象,默認游標都在集合的第一個元素之前。
- Iterator接口的常用方法如下:
- public E next():返回迭代的下一個元素。
- public boolean hasNext():如果仍有元素可以迭代,則返回 true。
- 注意:在調(diào)用it.next()方法之前必須要調(diào)用it.hasNext()進行檢測。若不調(diào)用,且下一條記錄無效,直接調(diào)用it.next()會拋出NoSuchElementException異常。
迭代器的執(zhí)行原理
Iterator迭代器對象在遍歷集合時,內(nèi)部采用指針的方式來跟蹤集合中的元素,接下來通過一個圖例來演示Iterator對象迭代元素的過程:

增強for循環(huán)
- foreach循環(huán)(也稱增強for循環(huán))是 JDK5.0 中定義的一個高級for循環(huán),專門用來遍歷數(shù)組和集合的。
- foreach循環(huán)的語法格式:
for(元素的數(shù)據(jù)類型 局部變量 : Collection集合或數(shù)組){
//操作局部變量的輸出操作
}
//這里局部變量就是一個臨時變量,自己命名就可以
舉個栗子:
package cn.edu.chd.exer4;
import java.util.ArrayList;
/**
* ClassName:Main
* Description:
* 增強for循環(huán)的使用
* @Create 2023/11/19 10:46
*/
public class Main {
public static void main(String[] args) {
//增強for循環(huán)的練習(xí)
ArrayList<Integer> arrayList = new ArrayList<>();
//基本數(shù)據(jù)類型進行裝箱
arrayList.add(5);
arrayList.add(2);
arrayList.add(0);
arrayList.add(1);
//使用增強for循環(huán)進行遍歷
for (Integer i: arrayList) {
System.out.println(i);
}
}
}
對于集合的遍歷,增強for的內(nèi)部原理其實是個Iterator迭代器。如下圖。

它用于遍歷Collection和數(shù)組。通常只進行遍歷元素,不要在遍歷的過程中對集合元素進行增刪操作。
到此這篇關(guān)于Java集合中的Iterator迭代器接口詳解的文章就介紹到這了,更多相關(guān)Iterator迭代器接口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 淺析Java迭代器Iterator和Iterable的區(qū)別
- Java中不得不知的Collection接口與Iterator迭代器
- Java中Iterator(迭代器)的用法詳解
- Java使用迭代器Iterator遍歷集合
- Java中Iterator迭代器的使用詳解
- Java集合框架迭代器Iterator實現(xiàn)原理解析
- Java如何使用Iterator迭代器刪除集合重復(fù)選項
- 如何實現(xiàn)java Iterator迭代器功能
- Java Iterator接口遍歷單列集合迭代器原理詳解
- Java使用Iterator迭代器遍歷集合數(shù)據(jù)的方法小結(jié)
- java集合中的迭代器Iterator和數(shù)組內(nèi)置方法及常見的報錯解決方案
相關(guān)文章
Java分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)原理與用法詳解
這篇文章主要介紹了Java分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)原理與用法,結(jié)合實例形式分析了java分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、跳轉(zhuǎn)語句等相關(guān)概念、原理、使用技巧與操作注意事項,需要的朋友可以參考下2020-02-02
SpringBoot框架實現(xiàn)支付和轉(zhuǎn)賬功能
在 Spring Boot 框架中實現(xiàn)支付和轉(zhuǎn)賬功能時,涉及到多個細節(jié)和注意點,這些功能通常需要高度的安全性、穩(wěn)定性和可擴展性,本文介紹了實現(xiàn)支付和轉(zhuǎn)賬功能的一些關(guān)鍵點,需要的朋友可以參考下2024-08-08
如何解決@PutMapping或@PostMapping接收String類型參數(shù)多兩個“引號問題
這篇文章主要介紹了如何解決@PutMapping或@PostMapping接收String類型參數(shù)多兩個“引號問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

