導航:首頁 > 編程語言 > java迭代器list

java迭代器list

發布時間:2023-04-10 12:31:11

java迭代器到底怎麼使用

我們在使用List,Set的時候,為了實現對其數據的遍歷,我們經常使用到了Iterator(跌代器)。 使用跌代器,你不需要干涉其遍歷的過程,只需要每次取出一個你想要的數據進行處理就可以了。但是在使用的時候也是有不同的。 List和Set都有iterator()來取得其迭代器。對List來說,你也可以通過listIterator()取得其迭代器,兩種迭代器在有些時候是不能通用的,Iterator和ListIterator主要區別在以下方面: 1. ListIterator有add()方法,可以向List中添加對象,而Iterator不能 2. ListIterator和Iterator都有hasNext()和next()方法,可以實現順序向後遍歷,但是ListIterator有hasPrevious()和previous()方法,可以實現逆向(順序向前)遍歷。Iterator就不可以。 3. ListIterator可以定位當前的索引位置,nextIndex()和previousIndex()可以實現。Iterator沒有此功能。 4. 都可實現刪除對象,但是ListIterator可以實現對象的修改,set()方法可以實現。Iierator僅能遍歷,不能修改。 因為ListIterator的這些功能,可以實現對LinkedList等List數據結構的操作。 其實,數組對象也可以用迭代器來實現。 org.apache.commons.collections.iterators.ArrayIterator就可以實現此功能。 一般情況下,我們使用Iterator就可以了,如果你需要進行記錄的前後反復檢索的話,你就可以使用ListIterator來擴展你的功能,(有點象JDBC中的滾動結果集)。 ListIterator是一個雙向迭代器。ListIterator沒有當前元素,它的當前游標是位於調用next()和previsous()返回的元素之間。

❷ java的List集合迭代器

是刪除了的,親。是你弄錯 了,你對比一下我給你寫的代碼,你就知道你的問題出在哪了,我只加了一句話。

importjava.util.ArrayList;
importjava.util.Iterator;
importjava.util.List;
publicclassArrayListTest
{
publicstaticvoidmain(String[]args)
{
List<Object>list=newArrayList<Object>();
list.add((byte)56);
list.add((short)5656);
list.add(565656);
list.add(56565656L);
Iteratorit=list.iterator();
while(it.hasNext())
{
Objectobj=it.next();
if(objinstanceofInteger)
{
it.remove();
//刪除成功以後就不應該再輸出這個刪除的值,明白嗎?
continue;
}
System.out.println(obj);
}
}
}

有什麼問題你都可以追問我,沒問題,望採納,謝謝

❸ 在Java中的迭代器有什麼作用啊

由於Java中數據容器眾多,而對數據容器的操作在很多時候都具有極大的共性,於是Java採用了迭代器為各種容器提供公共的操作介面。使用Java的迭代器iterator可以使得對容器的遍歷操作完全與其底層相隔離,可以到達極好的解耦效果。下面是一個使用迭代器遍歷一個序列化和非序列化容器的例子。
mport java.util.*;

publicclass TestIterator {

public static void main(String[] args) {

//創建一個list 它是一個序列化的數據
List list=new ArrayList();
//創建一個map,它是一個非序列化的數據
Map map=new HashMap();

for(int i=0;i<10;i++){
//向容器中添加數據
list.add(new String("list"+i) );

map.put(i, new String("map"+i));

}
//序列化了的數據創建迭代器。
Iterator iterList= list.iterator();//List介面實現了Iterable介面
//進行遍歷 如果容器中有下一個數據,就獲取下一個數據並列印出來

while(iterList.hasNext()){
String strList=(String)iterList.next();

System.out.println(strList.toString());

}
//創建非序列化數據的迭代器,要先將其序列化
Iterator iterMap=map.entrySet().iterator();
//進行遍歷 如果容器中有下一個數據,就獲取下一個數據並列印出來
while(iterMap.hasNext()){

Map.Entry strMap=(Map.Entry)iterMap.next();

System.out.println(strMap.getValue());

}

}

}
這些都是一些基礎的Java知識,在秒秒學的網站上查看資料。

閱讀全文

與java迭代器list相關的資料

熱點內容
表格怎麼轉移到另一個文件夾 瀏覽:923
同態加密gpu 瀏覽:216
程序員告訴你網賭為什麼贏不了 瀏覽:971
程序員最帥操作 瀏覽:72
雲伺服器可以隨時更換嗎 瀏覽:489
老款車在哪裡可以買到app 瀏覽:460
程序員事業單位 瀏覽:68
特來電需要用哪個App 瀏覽:881
電腦如何共享其他伺服器 瀏覽:260
php網站性能優化 瀏覽:354
被子收納袋壓縮真空 瀏覽:30
h1z1選什麼伺服器 瀏覽:484
蘋果版三國殺怎麼在安卓上下載 瀏覽:728
安潤國際app在哪裡下載 瀏覽:438
iospdf教程下載 瀏覽:332
加密貨幣換手率300表示什麼 瀏覽:727
手機wps新建文件夾存照片 瀏覽:399
單片機rgbled 瀏覽:963
怎麼通過文件加密後發給微信好友 瀏覽:90
用虛擬機編程 瀏覽:821