<sup id="m40ya"></sup>
  • 
    
  • <kbd id="m40ya"></kbd>
    <samp id="m40ya"></samp>
    <ul id="m40ya"></ul>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    iterator java

    文檔

    iterator java

    iterator java就是提供一種方法對一個容器對象中的各個元素進行訪問,而又不暴露該對象容器的內部細節。Iterator是用同一種邏輯來遍歷集合,使得客戶端自身不需要來維護集合的內部結構,所有的內部狀態都由Iterator來維護。
    推薦度:
    導讀iterator java就是提供一種方法對一個容器對象中的各個元素進行訪問,而又不暴露該對象容器的內部細節。Iterator是用同一種邏輯來遍歷集合,使得客戶端自身不需要來維護集合的內部結構,所有的內部狀態都由Iterator來維護。

    iterator java是什么,讓我們一起了解一下?

    iterator java就是提供一種方法對一個容器對象中的各個元素進行訪問,而又不暴露該對象容器的內部細節。

    那么iterator的由來是怎樣的?

    Java集合框架的集合類,我們有時候稱之為容器。容器的種類有很多種,比如ArrayList、LinkedList、HashSet…,每種容器都有自己的特點,ArrayList底層維護的是一個數組;LinkedList是鏈表結構的;HashSet依賴的是哈希表,每種容器都有自己特有的數據結構。

      因為容器的內部結構不同,很多時候可能不知道該怎樣去遍歷一個容器中的元素。所以為了使對容器內元素的操作更為簡單,Java引入了迭代器模式!

      把訪問邏輯從不同類型的集合類中抽取出來,從而避免向外部暴露集合的內部結構。

    對于數組我們使用的是下標來進行處理的:

    1?int?array[]?=?new?int[3];????
    2?for?(int?i?=?0;?i??list?=?new?ArrayList();
    2????????for(int?i?=?0?;?i?

    因此對于這兩種方式,我們總是都知道它的內部結構,訪問代碼和集合本身是緊密耦合的,但無法將訪問邏輯從集合類和客戶端代碼中分離出來,該怎么辦?

    不同的集合會對應不同的遍歷方法,客戶端代碼無法復用,在實際應用中如何將上面兩個集合整合是相當麻煩的,所以才有Iterator,它總是用同一種邏輯來遍歷集合,使得客戶端自身不需要來維護集合的內部結構,所有的內部狀態都由Iterator來維護。客戶端不用直接和集合進行打交道,而是控制Iterator向它發送向前向后的指令,就可以遍歷集合。

    一、java.util.Iterator

    下面讓我們看看Java中的Iterator接口是如何實現的。

    在Java中Iterator為一個接口,它只提供了迭代的基本規則。在JDK中它是這樣定義的:對Collection進行迭代的迭代器,迭代器取代了Java Collection Framework中的Enumeration。

    迭代器與枚舉有兩點不同:

    1. 迭代器在迭代期間可以從集合中移除元素。

    2. 方法名得到了改進,Enumeration的方法名稱都比較長。

    其接口定義如下:

    package?java.util;
    public?interface?Iterator?{
    ????boolean?hasNext();//判斷是否存在下一個對象元素
    ????E?next();//獲取下一個元素
    ????void?remove();//移除元素
    }

    二、Iterable

    Java中還提供了一個Iterable接口,Iterable接口實現后的功能是‘返回’一個迭代器,我們常用的實現了該接口的子接口有:Collection、List、Set等。該接口的iterator()方法返回一個標準的Iterator實現,實現Iterable接口允許對象成為Foreach語句的目標,就可以通過foreach語句來遍歷你的底層序列。

    Iterable接口包含一個能產生Iterator對象的方法,并且Iterable被foreach用來在序列中移動。因此如果創建了實現Iterable接口的類,都可以將它用于foreach中。

    Iterable接口的具體實現:

    Package?java.lang;
    import?java.util.Iterator;
    public?interface?Iterable?{undefined
    Iterator?iterator();
    }

    以上就是小編今天的分享了,希望可以幫助到大家。

    文檔

    iterator java

    iterator java就是提供一種方法對一個容器對象中的各個元素進行訪問,而又不暴露該對象容器的內部細節。Iterator是用同一種邏輯來遍歷集合,使得客戶端自身不需要來維護集合的內部結構,所有的內部狀態都由Iterator來維護。
    推薦度:
    為你推薦
    資訊專欄
    熱門視頻
    相關推薦
    鐵觀音產地是哪個地方 java -ea 南極洲有哪些國家 行程碼帶*號什么意思 祁連山在哪個省境內 idea新建java項目 java -xms java 32bit idea新建一個java項目 熊貓只有中國才有的嗎 java a++和++a的區別 茉莉花茶是綠茶嗎 java active 甕安縣屬于哪個市 java activiti java activity 西北五省是哪五省 java actuator java add java addall interface java integer java instant java instance java influxdb java idea編寫java程序 idea怎么建立java idea創建普通java項目 idea創建java hotspot java hibernate java hbase java guava java groupby java grep java golang調用java glue java geojson java geohash java gdb java
    Top 久久久久久久亚洲精品| 国产亚洲精品AAAA片APP| 国产一区二区三区日韩精品| 久久久999国产精品| 亚洲国产精品成人网址天堂| 国产精品玖玖玖在线观看| 国产精品熟女高潮视频| 青娱乐精品视频在线观看| 国产精品亚洲精品| 久久er国产精品免费观看2| 国产成人高清精品免费鸭子| 国产成人精品免费视频大| 亚洲精品国偷自产在线| 精品三级66在线播放| 大香伊人久久精品一区二区| 久久国产精品99久久久久久牛牛 | 久久精品国产精品亚洲精品| 国产精品VA在线播放| 曰产无码久久久久久精品| 一区二区精品在线| 亚洲精品乱码久久久久66| heyzo高无码国产精品| 日韩加勒比一本无码精品| 国产精品免费网站| 99久久免费精品高清特色大片| 伊人久久综合精品无码AV专区| 热99精品只有里视频最新| 国产精品VIDEOSSEX久久发布| 精品国产三级a在线观看| 久久夜色精品国产噜噜亚洲AV| 国内精品久久久久久久久电影网| 日本加勒比久久精品| 国产精品自在线拍国产手青青机版| 国产高清在线精品一区| 久久久一本精品99久久精品88| 久久99国产精品久久久| 亚洲精品国产字幕久久不卡| 久久精品国产亚洲Aⅴ香蕉 | 午夜精品美女写真福利| 久久99久久99小草精品免视看| 伊人精品久久久大香线蕉99|