首頁 Java java教程 Java中ListIterator與Iterator詳解與辨析

Java中ListIterator與Iterator詳解與辨析

Dec 13, 2016 pm 05:20 PM
iterator

在使用java集合的時候,都需要使用Iterator。但java集合中還有一個迭代器ListIterator,在使用List、ArrayList、LinkedList和Vector的時候可以使用。這兩種迭代器有什麼差別呢?下面我們詳細分析。這裡有一點需要明確的時候,迭代器指向的位置是元素之前的位置,如下圖所示:

Java中ListIterator與Iterator詳解與辨析

這裡假設集合List由四個元素List1、List2、List3和List4組成,當使用語句Iterator it = List.Iterator()時,迭代器it指向的位置是上圖中Iterator1指向的位置,當執行語句it.next()之後,迭代器指向的位置後移到上圖Iterator2所指向的位置。

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

Iterator迭代器包含的方法有:

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

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

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

ListIterator迭代器包含的方法有:

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

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

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

next():傳回清單中ListIterator指向位置後面的元素

nextIndex():傳回清單中ListIterator所需位置後面元素的索引

previous():傳回清單中ListIterator指向位置前面元素的索引

previous():傳回清單中ListIterator指向位置前面的元素

previous():傳回清單中的元素。

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

remove():從列表中刪除next()或previous()傳回的最後一個元素(有點拗口,意思是對迭代器使用hasNext( )方法時,刪除ListIterator指向位置後面的元素;當對迭代器使用hasPrevious()方法時,刪除ListIterator指向位置前面的元素)

set(E e):從列表中將next()或previous()傳回的最後一個元素傳回的最後一個元素變更為指定元素e

一.相同點

都是迭代器,當需要對集合中元素進行遍歷不需要干涉其遍歷過程時,這兩種迭代器都可以使用。

二.不同點

1.使用範圍不同,Iterator可以應用於所有的集合,Set、List和Map和這些集合的子類型。而ListIterator只能用於List及其子類型。

2.ListIterator有add方法,可以向List新增對象,而Iterator不能。

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

4.ListIterator可以定位目前索引的位置,nextIndex()和previousIndex()可以實現。 Iterator沒有此功能。

5.都可實現刪除操作,但是ListIterator可以實現物件的修改,set()方法可以實現。 Iterator僅能遍歷,不能修改。

三:Iterator和ListIterator用法範例

ListIterator用法:


package com.collection;

import java.util.LinkedList;

import java.util.ListS.

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java Iterator 與 Iterable:揭秘迭代器與可迭代物件的世界 Java Iterator 與 Iterable:揭秘迭代器與可迭代物件的世界 Feb 19, 2024 pm 02:15 PM

在Java程式設計中,Iterator和Iterable介面是用來處理集合中元素的重要工具。 Iterator介面提供了對集合元素進行迭代存取的方法,而Iterable介面則定義了集合的可迭代性,使集合中的元素可以透過Iterator存取。這兩者的緊密配合,為我們提供了遍歷集合元素的通用方法。 Iterator介面Iterator介面定義了以下方法:booleanhasNext():檢查集合中是否還有元素。 Enext():傳回集合中的下一個元素。 voidremove():移除目前元素。 Iterable接

Java Iterator 與 Iterable:邁入編寫優雅程式碼的行列 Java Iterator 與 Iterable:邁入編寫優雅程式碼的行列 Feb 19, 2024 pm 02:54 PM

Iterator介面Iterator介面是一個用於遍歷集合的介面。它提供了幾個方法,包括hasNext()、next()和remove()。 hasNext()方法傳回布林值,指示集合中是否還有下一個元素。 next()方法傳回集合中的下一個元素,並將其從集合中刪除。 remove()方法從集合中刪除目前元素。以下程式碼範例示範如何使用Iterator介面來遍歷集合:Listnames=Arrays.asList("John","Mary","Bob");Iterator

Java Iterator 與 Iterable 的深入比較:優缺點分析 Java Iterator 與 Iterable 的深入比較:優缺點分析 Feb 19, 2024 pm 04:20 PM

概念差異:Iterator:Iterator是一個接口,代表一個從集合中取得值的迭代器。它提供了MoveNext()、Current()和Reset()等方法,讓你遍歷集合中的元素,並對目前元素進行操作。 Iterable:Iterable也是一個接口,代表一個可迭代的物件。它提供了Iterator()方法,用於傳回一個Iterator對象,以便於遍歷集合中的元素。使用方式:Iterator:要使用Iterator,需要先取得一個Iterator對象,然後呼叫MoveNext()方法來移動到下一

Java Iterator與Iterable:集合遍歷的金鑰,揭開其神秘面紗 Java Iterator與Iterable:集合遍歷的金鑰,揭開其神秘面紗 Feb 20, 2024 am 10:27 AM

Iterator簡介Iterator是Java中用於遍歷集合的介面。它提供了一組方法,讓您以順序的方式存取集合中的元素。您可以使用Iterator來遍歷List、Set和Map等集合類型。示範程式碼:Listlist=newArrayList();list.add("one");list.add("two");list.add("three");Iteratoriterator=list.iterator();while(iter

Java Iterator 與 Iterable:解鎖 Java 集合的強大力量 Java Iterator 與 Iterable:解鎖 Java 集合的強大力量 Feb 19, 2024 pm 07:00 PM

在Java中,集合(collection)是一組元素的集合,提供了統一的介面和方法來儲存、檢索和操作這些元素。 Iterator和Iterable是兩個重要的Java接口,它們提供了遍歷集合元素的通用機制。 Iterator介面定義了用於遍歷集合的hasNext()和next()方法。 hasNext()方法用於檢查集合中是否還有未遍歷的元素,next()方法用於傳回目前元素並將其移至下一個元素。 Iterable介面定義了iterator()方法,該方法傳回一個Iterator對象,用於遍歷集合中的元

Java Iterator 與 Iterable:深入剖析 Java 集合遍歷機制 Java Iterator 與 Iterable:深入剖析 Java 集合遍歷機制 Feb 19, 2024 pm 08:36 PM

Iterator介面Iterator介面是Java集合框架中用於遍歷集合的低階介面。它定義了兩個主要方法:hasNext():檢查集合中是否還有更多元素。 next():傳回集合中的下一個元素。 Iterator介面也定義了一些可選的方法,例如remove()方法,用於從集合中刪除目前元素。使用Iterator介面可以使用下列步驟使用Iterator介面遍歷集合:取得集合的Iterator物件。使用hasNext()方法檢查集合中是否還有更多元素。如果還有更多元素,則使用next()方法取得下一個元

Java Iterator與Iterable:揭露集合遍歷的幕後故事 Java Iterator與Iterable:揭露集合遍歷的幕後故事 Feb 19, 2024 pm 04:15 PM

迭代器(Iterator)和可迭代物件(Iterable)是Java集合框架中兩個非常重要的介面。它們使您能夠遍歷集合中的元素,而無需了解集合的具體實現。 Iterator介面定義了用於遍歷集合的方法,包括hasNext()和next()。 hasNext()方法檢查集合中是否還有更多元素,而next()方法傳回集合中的下一個元素。 Iterable介面定義了一個用來建立Iterator的方法,即iterator()方法。此方法傳回一個Iterator對象,該物件可以用於遍歷集合。以下是使用Itera

Java文件解讀:HashSet類別的iterator()方法用法詳解 Java文件解讀:HashSet類別的iterator()方法用法詳解 Nov 03, 2023 am 09:44 AM

Java文件解讀:HashSet類別的iterator()方法用法詳解,需要具體程式碼範例在Java程式設計中,HashSet是常用的集合類別之一,它實作了Set接口,並且繼承自AbstractSet類別。 HashSet類別的iterator()方法是用來傳回一個迭代器對象,用來遍歷HashSet中的元素。本文將詳細解讀HashSet類別的iterator()方法的用法,並

See all articles