導航:首頁 > 編程語言 > 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相關的資料

熱點內容
解壓中的刪掉是什麼意思 瀏覽:759
王牌競速什麼時候能停止維修伺服器 瀏覽:481
pdf閱讀器官方 瀏覽:81
程序員那麼愛心 瀏覽:300
字元a經過md5加密 瀏覽:413
綠色的小蝴蝶是個什麼app 瀏覽:11
python編程輸入數字輸出年月日英文 瀏覽:622
程序員槍手 瀏覽:743
gm28伺服器怎麼設置 瀏覽:538
餓了么網站源碼 瀏覽:328
天選程序員真的有用嗎 瀏覽:914
微信登錄伺服器什麼意思 瀏覽:349
溯源碼粘碎圖 瀏覽:133
qq綁定郵箱pop伺服器地址 瀏覽:723
卡羅拉空調壓縮機價格 瀏覽:891
華潤it程序員 瀏覽:554
51單片機c語言秒錶 瀏覽:272
php一周前的時間 瀏覽:851
windows文件夾輸入列表 瀏覽:918
php做網頁聊天系統 瀏覽:889