Java中Iterator迭代器的簡(jiǎn)單理解
Iterator迭代器
Iterator接口
Iterator接口也是Java集合中的一員,但它與Collection、Map接口有所不同,Collection接口與Map接口主要用于存儲(chǔ)元素,而Iterator主要用于迭代訪問(wèn)(即遍歷)Collection中的元素,因此Iterator對(duì)象也被稱為迭代器。 想要遍歷Collection集合,那么就要獲取該集合迭代器完成迭代操作,下面介紹一下獲取迭代器的方法:
- public Iterator iterator(): 獲取集合對(duì)應(yīng)的迭代器,用來(lái)遍歷集合中的元素的。
下面介紹一下迭代的概念:
- 迭代:即Collection集合元素的通用獲取方式。在取元素之前先要判斷集合中有沒(méi)有元素,如果有,就把這個(gè)元素取出來(lái),繼續(xù)在判斷,如果還有就再取出出來(lái)。一直把集合中的所有元素全部取出。這種取出方式專業(yè)術(shù)語(yǔ)稱為迭代。
常用方法
Iterator接口的常用方法如下:
- public E next():返回迭代的下一個(gè)元素。
- public boolean hasNext():如果仍有元素可以迭代,則返回 true。
接下來(lái)我們通過(guò)案例學(xué)習(xí)如何使用Iterator迭代集合中元素:
每個(gè)集合對(duì)象都有自己的迭代器
public class IteratorDemo { public static void main(String[] args) { // 使用多態(tài)方式 創(chuàng)建對(duì)象 Collection<String> coll = new ArrayList<String>(); // 添加元素到集合 coll.add("串串星人"); coll.add("吐槽星人"); coll.add("汪星人"); //遍歷 //使用迭代器 遍歷 每個(gè)集合對(duì)象都有自己的迭代器 Iterator<String> it = coll.iterator(); // 泛型指的是 迭代出 元素的數(shù)據(jù)類型 while(it.hasNext()){ //判斷是否有迭代元素 String s = it.next();//獲取迭代出的元素 System.out.println(s); } } }
到此這篇關(guān)于Java中Iterator迭代器的簡(jiǎn)單理解的文章就介紹到這了,更多相關(guān)Java迭代器Iterator內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot實(shí)現(xiàn)國(guó)際化過(guò)程詳解
這篇文章主要介紹了SpringBoot實(shí)現(xiàn)國(guó)際化過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12spring中JdbcTemplate操作oracle的存儲(chǔ)過(guò)程實(shí)例代碼
JdbcTemplate是Spring對(duì)JDBC的封裝,目的是使JDBC更加易于使用,JdbcTemplate是Spring的一部分,下面這篇文章主要給大家介紹了關(guān)于spring中JdbcTemplate操作oracle的存儲(chǔ)過(guò)程的相關(guān)資料,需要的朋友可以參考下2023-04-04Java 改造ayui表格組件實(shí)現(xiàn)多重排序
layui 的表格組件目前只支持單列排序,在實(shí)際應(yīng)用中并不能很好的支撐我們的業(yè)務(wù)需求。今天一時(shí)手癢,決定改造一番以支持多重排序。2021-04-04Nacos Namespace/Group/DataID三者關(guān)系解讀
本文介紹了Nacos中的命名空間(Namespace)、配置分組(Group)和配置集ID(DataID)的概念,并詳細(xì)說(shuō)明了它們之間的關(guān)系和應(yīng)用場(chǎng)景,同時(shí),還提供了三者在不同環(huán)境下的配置切換方案,包括DataID方案、Group方案和命名空間方案2024-12-12packages思維及使用Java添加Android平臺(tái)特定實(shí)現(xiàn)
這篇文章主要為大家介紹了packages思維及使用Java添加Android平臺(tái)特定實(shí)現(xiàn)在Flutter框架里的體現(xiàn)和運(yùn)用詳解,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12使用Feign動(dòng)態(tài)設(shè)置header和原理分析
這篇文章主要介紹了使用Feign動(dòng)態(tài)設(shè)置header和原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03關(guān)于Java?float和double精度范圍大小
這篇文章主要介紹了關(guān)于Java?float和double精度范圍大小,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12LeetCode?動(dòng)態(tài)規(guī)劃之矩陣區(qū)域和詳情
這篇文章主要介紹了LeetCode?動(dòng)態(tài)規(guī)劃之矩陣區(qū)域和詳情,文章基于Java的相關(guān)資料展開(kāi)對(duì)LeetCode?動(dòng)態(tài)規(guī)劃的詳細(xì)介紹,需要的小伙伴可以參考一下2022-04-04