<th id="wu2k2"><s id="wu2k2"></s></th> <blockquote id="wu2k2"></blockquote>
  • <tr id="wu2k2"></tr>
  • <samp id="wu2k2"><tbody id="wu2k2"></tbody></samp><samp id="wu2k2"><tbody id="wu2k2"></tbody></samp>
  • 更多精彩內容,歡迎關注:

    視頻號
    視頻號

    抖音
    抖音

    快手
    快手

    微博
    微博

    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 国产精品麻豆成人AV网| 久久青草国产精品一区| 久久精品国产亚洲av品善| 久久精品国产亚洲AV果冻传媒| 午夜在线视频91精品| 在线精品视频一区二区| 精品无码人妻夜人多侵犯18| 思思久久99热只有频精品66| 国产成人精品福利色多多| 亚洲精品中文字幕| 亚洲精品一区二区三区四区乱码| 精品国产品香蕉在线观看75| 国产精品成人观看视频| 国产精品国语自产拍在线观看| 国产午夜精品片一区二区三区| 538精品视频在线观看mp4| 国产成人无码久久久精品一| 中日韩精品电影推荐网站| 一级A毛片免费观看久久精品| 精品久久中文网址| 免费无码精品黄AV电影| 精品国际久久久久999波多野| 99视频有精品视频免费观看 | 狠狠综合视频精品播放| 国产精品欧美成人| 一本精品中文字幕在线| 国产精品久久久久久| 亚洲蜜芽在线精品一区| 人妻AV一区二区三区精品| 久久精品女人毛片国产| 国产精品三级国产电影| 精品国产一区二区三区免费| 国内精品一线二线三线黄| 国产一区二区精品久久岳| 中文字幕精品在线视频| 精品久久人人爽天天玩人人妻 | 三上悠亚日韩精品一区在线| 久久97久久97精品免视看| 精品亚洲视频在线观看| 精品偷自拍另类在线观看丰满白嫩大屁股ass | 久久伊人精品青青草原日本|