日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JDK源码解析之java.util.ListIterator

發(fā)布時(shí)間:2025/3/8 编程问答 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDK源码解析之java.util.ListIterator 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

ListIterator是一個(gè)功能更加強(qiáng)大的迭代器接口, 它繼承于Iterator接口,只能用于各種List類型的訪問。可以通過調(diào)用listIterator()方法產(chǎn)生一個(gè)指向List開始處的ListIterator, 還可以調(diào)用listIterator(n)方法創(chuàng)建一個(gè)一開始就指向列表索引為n的元素處的ListIterator。

一、源碼解析

public interface ListIterator<E> extends Iterator<E> {// Query Operations// 以正向遍歷列表時(shí),如果列表迭代器有多個(gè)元素,則返回trueboolean hasNext();// 返回列表中的下一個(gè)元素E next();// 如果以逆向遍歷列表集合,列表迭代器有多個(gè)元素,則返回trueboolean hasPrevious();// 返回列表集合中前一個(gè)元素E previous();// 返回對(duì)next的后續(xù)調(diào)用所返回的元素的索引int nextIndex();// 返回對(duì)previous的后續(xù)調(diào)用所返回元素的索引int previousIndex();// Modification Operations// 從列表中移除由next或previous返回的最后一個(gè)元素void remove();// 用指定元素替換next或者previous返回的最后一個(gè)元素void set(E e);//將指定的元素插入列表void add(E e); }

由以上源碼內(nèi)容可以看出可以ListIterator的特點(diǎn):

(1)雙向移動(dòng)(向前/向后遍歷).

(2)產(chǎn)生相對(duì)于迭代器在列表中指向的當(dāng)前位置的前一個(gè)和后一個(gè)元素的索引.

(3)可以使用set()方法替換它訪問過的最后一個(gè)元素.

(4)可以使用add()方法在next()方法返回的元素之前或previous()方法返回的元素之后插入一個(gè)元素.

二、ListIterator與Iterator的區(qū)別

一.相同點(diǎn)

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

二.不同點(diǎn)

  • 使用范圍不同,Iterator可以應(yīng)用于所有的集合,Set、List和Map和這些集合的子類型。而ListIterator只能用于List及其子類型。
  • ListIterator有add方法,可以向List中添加對(duì)象,而Iterator不能。
  • ListIterator和Iterator都有hasNext()和next()方法,可以實(shí)現(xiàn)順序向后遍歷,但是ListIterator有hasPrevious()和previous()方法,可以實(shí)現(xiàn)逆向(順序向前)遍歷。Iterator不可以。
  • ListIterator可以定位當(dāng)前索引的位置,nextIndex()和previousIndex()可以實(shí)現(xiàn)。Iterator沒有此功能。
  • 都可實(shí)現(xiàn)刪除操作,但是ListIterator可以實(shí)現(xiàn)對(duì)象的修改,set()方法可以實(shí)現(xiàn)。Iterator僅能遍歷,不能修改。

總結(jié)

以上是生活随笔為你收集整理的JDK源码解析之java.util.ListIterator的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。