<strike id="cakm0"></strike>
  • <button id="cakm0"><dl id="cakm0"></dl></button>
  • <samp id="cakm0"><tbody id="cakm0"></tbody></samp>
    <samp id="cakm0"><pre id="cakm0"></pre></samp><ul id="cakm0"></ul>
    <strike id="cakm0"></strike>
    <li id="cakm0"></li>
  • <ul id="cakm0"></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 在线日产精品一区| 热re99久久精品国产99热| 777精品成人影院| 国产亚洲色婷婷久久99精品| 精品中文字幕一区二区三区四区| 国产99久久精品一区二区| 九九热在线视频观看这里只有精品| 无码精品人妻一区二区三区影院| 日韩精品福利片午夜免费观着| 日本内射精品一区二区视频| 中文字幕在线精品视频入口一区| 亚洲国产成人久久精品99 | 亚洲人成在线精品| 国产精品免费无遮挡无码永久视频| 亚洲?V无码成人精品区日韩| 精品国产高清自在线一区二区三区| 2021国产精品自在拍在线播放| 久久精品视频一区| 国产综合精品久久亚洲| 国产AV国片精品一区二区| 国产精品无码免费视频二三区| 国色精品卡一卡2卡3卡4卡免费| 久久精品国产久精国产果冻传媒| 久久久久99精品国产片| 久久精品国产亚洲麻豆| 国产日产韩国精品视频| 拍真实国产伦偷精品| 精品午夜国产人人福利| 亚洲国产成人精品91久久久| 无码人妻一区二区三区精品视频| 精品亚洲成a人在线观看| 国产精品av一区二区三区不卡蜜| 人妻少妇精品专区性色AV| 一区二区亚洲精品精华液| 亚洲日韩精品无码专区加勒比 | 国产亚洲精品美女久久久久久下载 | 国产在线精品国自产拍影院| 国产精品永久久久久久久久久| 亚洲婷婷国产精品电影人久久| 国产伦精品一区二区三区免费下载| 热99re久久免费视精品频软件 |