<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 91麻豆精品一二三区在线| 精品视频一区二区三区在线播放| 国内精品视频一区二区三区| 久久精品无码一区二区app| 久久狠狠高潮亚洲精品| 国产精品一区二区四区| 久久国产成人精品| 精品哟哟哟国产在线不卡| 亚洲中文字幕无码久久精品1| 一区国产传媒国产精品| 九九久久精品国产| 国产精品免费视频一区| 99re热精品视频国产免费| 亚洲精品无码Av人在线观看国产| 人妻少妇精品久久久久久 | 中文字幕日韩专区精品系列| 亚洲国产精品日韩在线观看| 国产成人精品电影在线观看| 国产自产拍精品视频免费看| 日韩精品一区二区三区中文| 国产成人无码精品一区在线观看 | 日韩精品久久久久久| 成人亚洲国产精品久久| 人妻少妇精品视频二区| 亚洲av永久无码精品古装片| 亚洲中文字幕久久精品无码喷水 | 国产香蕉精品视频在| 日韩精品国产一区| 国产精品久久久久久久久久久不卡 | 国产激情精品一区二区三区| 国产午夜亚洲精品不卡免下载 | 亚洲精品黄色视频在线观看免费资源 | 国产成人亚洲精品影院| 国产精品videossex国产高清| 麻豆精品国产免费观看 | 久热这里只有精品99国产6| 精品国产一区二区三区2021| 国精产品一品二品国精品69xx| 日本精品无码一区二区三区久久久| 麻豆精品在线观看| 少妇人妻无码精品视频|