亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java Collection集合iterator方法解析

 更新時(shí)間:2020年01月14日 11:46:40   作者:LeeHua  
這篇文章主要介紹了Java Collection集合iterator方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了Java Collection集合iterator方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

Iterator接口概述

/**
 * java.util.Iterator接口:選代器(對集合進(jìn)行遍歷)
 *   有兩個(gè)常用的方法
 *          boolean hasNext()
 *             如果仍有元素可以迭代,則返回true。
 *             即判斷集合中還有沒有下ー個(gè)元素,有就返回true,沒有就返回 false
 *          E next()
 *             返回送代的下一個(gè)元素。
 *             即取出集合中的下一個(gè)元素
 *   iterator迭代器,是一個(gè)接口,我們無法直接使用,需要使用Iterator接口的實(shí)現(xiàn)類對象。
 *       獲取實(shí)現(xiàn)類的方式比較特殊Collection接口中有一個(gè)方法,叫iterator(),這個(gè)方法返回的就是送代器的實(shí)現(xiàn)類對象
 *       Iterator<E> iterator()返回在該collection集合的元素上進(jìn)行迭代的送代器。
 *
 * 迭代器的使用步驟(重點(diǎn)):
 *       1.使用集合中的方法 iterator()獲取送代器的實(shí)現(xiàn)類對象,使用Iterator接口接收(多態(tài))
 *       2.使用Iterator接口中的方法hasNext來判斷還有沒有下一個(gè)元素
 *       3.使用Iterator接口中的方法next來取出集合中的下一個(gè)元素
 */

迭代器代碼的實(shí)現(xiàn)

import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collection;

public class Demo01Iterator {
  public static void main(String[] args) {
    Collection <String> collection = new ArrayList<>();

    collection.add("1號");
    collection.add("2號");
    collection.add("3號");
    collection.add("4號");
    collection.add("5號");

    // 第一步:使用集合中的方法 iterator() 獲取送代器的實(shí)現(xiàn)類對象
    // 第二步:使用Iterator接口接收(多態(tài))
    Iterator<String> stringIterator = collection.iterator();

    // 第三步:使用Iterator接口中的方法hasNext來判斷還有沒有下一個(gè)元素
    while (stringIterator.hasNext()) {
      // 第四步:使用Iterator接口中的方法next來取出集合中的下一個(gè)元素
      System.out.println(
          stringIterator.next()
      );
    }
    
  }
}
輸出結(jié)果:
1號
2號
3號
4號
5號

迭代器的實(shí)現(xiàn)原理

new一個(gè)集合出來
collection = new ArrayList<>()


假設(shè)集合中添加有元素
collection = [一號元素, 二號元素, 三號元素, 四號元素, 五號元素]


集合中的元素對應(yīng)的索引
Index = [0, 1, 2, 3, 4]


調(diào)用iterator方法
collection.iterator()
作用:獲取迭代器的實(shí)現(xiàn)類對象井且會(huì)把指針(索引)指向集合的-1素引


代碼說明:
while (stringIterator.hasNext()) {
  stringIterator.next()
}
通過Iterator接口的hasNext()方法,判斷集合是否還有沒有下一個(gè)元素
如果有下一個(gè)元素,那么就調(diào)用Iterator接口的next()方法,取出下一個(gè)元素,并且會(huì)把指針向后移一位。


就這樣,從索引的 -1 位置的下一位索引,開始獲取元素,直到獲取完全。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java線性表的順序表示及實(shí)現(xiàn)

    Java線性表的順序表示及實(shí)現(xiàn)

    這篇文章主要介紹了Java線性表的順序表示及實(shí)現(xiàn),順序表是在計(jì)算機(jī)內(nèi)存中以數(shù)組的形式保存的線性表,線性表的順序存儲(chǔ)是指用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)線性表中的各個(gè)元素、使得線性表中在邏輯結(jié)構(gòu)上相鄰的數(shù)據(jù)元素存儲(chǔ)在相鄰的物理存儲(chǔ)單元中
    2022-07-07
  • java實(shí)戰(zhàn)小技巧之字符串與容器互轉(zhuǎn)詳解

    java實(shí)戰(zhàn)小技巧之字符串與容器互轉(zhuǎn)詳解

    Java.lang.String是Java的字符串類. Srting是一個(gè)不可變對象,下面這篇文章主要給大家介紹了關(guān)于java實(shí)戰(zhàn)小技巧之字符串與容器互轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • JAVA發(fā)送HTTP請求,返回HTTP響應(yīng)內(nèi)容,應(yīng)用及實(shí)例代碼

    JAVA發(fā)送HTTP請求,返回HTTP響應(yīng)內(nèi)容,應(yīng)用及實(shí)例代碼

    這篇文章主要介紹了JAVA發(fā)送HTTP請求,返回HTTP響應(yīng)內(nèi)容,應(yīng)用及實(shí)例代碼,需要的朋友可以參考下
    2014-02-02
  • IntellJ IDEA神器使用技巧(小結(jié))

    IntellJ IDEA神器使用技巧(小結(jié))

    這篇文章主要介紹了IntellJ IDEA神器使用技巧(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • java打包成可執(zhí)行的jar或者exe的詳細(xì)步驟

    java打包成可執(zhí)行的jar或者exe的詳細(xì)步驟

    Java程序完成以后,對于Windows操作系統(tǒng),習(xí)慣總是想雙擊某個(gè)exe文件就可以直接運(yùn)行程序,現(xiàn)我將一步一步的實(shí)現(xiàn)該過程.最終結(jié)果是:不用安裝JRE環(huán)境,不用安裝數(shù)據(jù)庫,直接雙擊一個(gè)exe文件,就可以運(yùn)行程序
    2014-04-04
  • 詳解Lombok的坑

    詳解Lombok的坑

    這篇文章主要介紹了詳解Lombok的坑,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 以銀行取錢為例模擬Java多線程同步問題完整代碼

    以銀行取錢為例模擬Java多線程同步問題完整代碼

    這篇文章主要介紹了以銀行取錢為例模擬Java多線程同步問題完整代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • Spring AOP實(shí)現(xiàn)記錄操作日志

    Spring AOP實(shí)現(xiàn)記錄操作日志

    這篇文章主要為大家詳細(xì)介紹了Spring AOP實(shí)現(xiàn)記錄操作日志,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-09-09
  • Spring的@Value如何從Nacos配置中心獲取值并自動(dòng)刷新

    Spring的@Value如何從Nacos配置中心獲取值并自動(dòng)刷新

    這篇文章主要介紹了Spring的@Value如何從Nacos配置中心獲取值并自動(dòng)刷新,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • 分布式調(diào)度XXL-Job整合Springboot2.X實(shí)戰(zhàn)操作過程(推薦)

    分布式調(diào)度XXL-Job整合Springboot2.X實(shí)戰(zhàn)操作過程(推薦)

    這篇文章主要介紹了分布式調(diào)度XXL-Job整合Springboot2.X實(shí)戰(zhàn)操作,包括定時(shí)任務(wù)的使用場景和常見的定時(shí)任務(wù),通過本文學(xué)習(xí)幫助大家該選擇哪個(gè)分布式任務(wù)調(diào)度平臺(tái),對此文感興趣的朋友一起看看吧
    2022-04-04

最新評論