<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 www亚洲精品少妇裸乳一区二区| 国产精品吹潮香蕉在线观看| 精品亚洲福利一区二区| 国内精品久久久久伊人av| 国产精品成人免费视频网站京东 | 亚洲一区无码精品色| www.精品国产| 国产成人亚洲综合无码精品| 人妻无码精品久久亚瑟影视| 国产成人精品1024在线| 久久精品视频免费| 国产精品福利片免费看| 内射精品无码中文字幕| 久久精品国产亚洲AV香蕉| 三上悠亚国产精品一区| 国产乱人伦偷精精品视频| 92国产精品午夜福利| 日韩精品无码熟人妻视频| 国产午夜亚洲精品理论片不卡| 国产精品玩偶在线观看| 国产精品久久久久久影院| 久久久久久亚洲精品中文字幕| 国产精品免费看久久久香蕉| 精品国产一区二区三区久久狼| 国产精品视频久久| 色一乱一伦一图一区二区精品| 伊人久久精品亚洲午夜| 第一福利永久视频精品| 日韩精品中文字幕视频一区| 2021国内久久精品| 2019天堂精品视频在线观看| 久久久久久久99精品免费观看| 精品伦精品一区二区三区视频| 日本精品一区二区三区四区| 精品久久久99大香线蕉| 精品人妻少妇一区二区三区不卡| 中文字幕亚洲精品资源网| 日韩精品人妻系列无码专区免费| 久久99精品国产99久久6男男| 二区久久国产乱子伦免费精品| 网友偷拍日韩精品|