欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JAVA中ListIterator和Iterator詳解與辨析(推薦)

 更新時(shí)間:2017年04月23日 14:16:57   作者:開拖拉機(jī)的蠟筆小新  
這篇文章主要介紹了JAVA中ListIterator和Iterator詳解與辨析,需要的朋友可以參考下

在使用Java集合的時(shí)候,都需要使用Iterator。但是java集合中還有一個(gè)迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的時(shí)候可以使用。這兩種迭代器有什么區(qū)別呢?下面我們詳細(xì)分析。這里有一點(diǎn)需要明確的時(shí)候,迭代器指向的位置是元素之前的位置。

首先看一下Iterator和ListIterator迭代器的方法有哪些。

Iterator迭代器包含的方法有:

hasNext():如果迭代器指向位置后面還有元素,則返回 true,否則返回false

next():返回集合中Iterator指向位置后面的元素

remove():刪除集合中Iterator指向位置后面的元素

ListIterator迭代器包含的方法有:

   add(E e): 將指定的元素插入列表,插入位置為迭代器當(dāng)前位置之前

hasNext():以正向遍歷列表時(shí),如果列表迭代器后面還有元素,則返回 true,否則返回false

hasPrevious():如果以逆向遍歷列表,列表迭代器前面還有元素,則返回 true,否則返回false

next():返回列表中ListIterator指向位置后面的元素

nextIndex():返回列表中ListIterator所需位置后面元素的索引

previous():返回列表中ListIterator指向位置前面的元素

previousIndex():返回列表中ListIterator所需位置前面元素的索引

remove():從列表中刪除next()或previous()返回的最后一個(gè)元素(有點(diǎn)拗口,意思就是對迭代器使用hasNext()方法時(shí),刪除ListIterator指向位置后面的元素;當(dāng)對迭代器使用hasPrevious()方法時(shí),刪除ListIterator指向位置前面的元素)

set(E e):從列表中將next()或previous()返回的最后一個(gè)元素返回的最后一個(gè)元素更改為指定元素e

一.相同點(diǎn)

都是迭代器,當(dāng)需要對集合中元素進(jìn)行遍歷不需要干涉其遍歷過程時(shí),這兩種迭代器都可以使用。

二.不同點(diǎn)

1.使用范圍不同,Iterator可以應(yīng)用于所有的集合,Set、List和Map和這些集合的子類型。而ListIterator只能用于List及其子類型。

2.ListIterator有add方法,可以向List中添加對象,而Iterator不能。

3.ListIterator和Iterator都有hasNext()和next()方法,可以實(shí)現(xiàn)順序向后遍歷,但是ListIterator有hasPrevious()和previous()方法,可以實(shí)現(xiàn)逆向(順序向前)遍歷。Iterator不可以。

4.ListIterator可以定位當(dāng)前索引的位置,nextIndex()和previousIndex()可以實(shí)現(xiàn)。Iterator沒有此功能。

5.都可實(shí)現(xiàn)刪除操作,但是ListIterator可以實(shí)現(xiàn)對象的修改,set()方法可以實(shí)現(xiàn)。Iterator僅能遍歷,不能修改。

以上所述是小編給大家介紹的JAVA中ListIterator和Iterator詳解與辨析(推薦),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • java中Scanner類的簡單用法分享

    java中Scanner類的簡單用法分享

    這篇文章主要介紹了java中Scanner類的簡單用法,有需要的朋友可以參考一下
    2014-01-01
  • java布局管理之CardLayout簡單實(shí)例

    java布局管理之CardLayout簡單實(shí)例

    這篇文章主要為大家詳細(xì)介紹了java布局管理之CardLayout的簡單實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • SpringBoot Admin 如何實(shí)現(xiàn)Actuator端點(diǎn)可視化監(jiān)控

    SpringBoot Admin 如何實(shí)現(xiàn)Actuator端點(diǎn)可視化監(jiān)控

    這篇文章主要介紹了SpringBoot Admin 如何實(shí)現(xiàn)Actuator端點(diǎn)可視化監(jiān)控,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java調(diào)用騰訊云短信API接口的實(shí)現(xiàn)

    Java調(diào)用騰訊云短信API接口的實(shí)現(xiàn)

    這篇文章主要介紹了Java調(diào)用騰訊云短信API接口的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • IntelliJ IDEA如何設(shè)置JDK版本

    IntelliJ IDEA如何設(shè)置JDK版本

    這篇文章主要介紹了IntelliJ IDEA如何設(shè)置JDK版本問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • JAVA Optional類用法分享

    JAVA Optional類用法分享

    本篇文章主要給大家分析了JAVA中Optional類用法以及代碼分析,跟著小編學(xué)習(xí)下吧。
    2017-12-12
  • 解析ConcurrentHashMap: 預(yù)熱(內(nèi)部一些小方法分析)

    解析ConcurrentHashMap: 預(yù)熱(內(nèi)部一些小方法分析)

    ConcurrentHashMap是由Segment數(shù)組結(jié)構(gòu)和HashEntry數(shù)組結(jié)構(gòu)組成。Segment的結(jié)構(gòu)和HashMap類似,是一種數(shù)組和鏈表結(jié)構(gòu),今天給大家普及java面試常見問題---ConcurrentHashMap知識,一起看看吧
    2021-06-06
  • Java中如何避免sql注入實(shí)例詳解

    Java中如何避免sql注入實(shí)例詳解

    SQL注入是最常見的攻擊方式之一,它不是利用操作系統(tǒng)或其它系統(tǒng)的漏洞來實(shí)現(xiàn)攻擊的,而是程序員因?yàn)闆]有做好判斷,被不法用戶鉆了SQL的空子,下面這篇文章主要給大家介紹了關(guān)于Java中如何避免sql注入的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • java實(shí)現(xiàn)圖片任意角度旋轉(zhuǎn)

    java實(shí)現(xiàn)圖片任意角度旋轉(zhuǎn)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)圖片任意角度旋轉(zhuǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • 淺談springMVC接收前端json數(shù)據(jù)的總結(jié)

    淺談springMVC接收前端json數(shù)據(jù)的總結(jié)

    下面小編就為大家分享一篇淺談springMVC接收前端json數(shù)據(jù)的總結(jié),具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論