遍歷list集合時同時新增和刪除元素

2021-10-14 11:43:38 字數 768 閱讀 6571

記錄該問題是因為當時需要list讀取完該元素後,下次不再讀取該元素值

使用listiterator()方法,**如下:

list list = new arraylist();

list.add("a");

list.add("b");

list.add("c");

list.add("d");

listiterator lit = list.listiterator();

while (lit.hasnext())

} system.out.println(list);

//結果[b, b, c, d]

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資料結構的操作。其實,陣列物件也可以用迭代器來實現。

對集合List和Map的遍歷

一 對list的遍歷 list lists new arraylist 1通過foreach for object obj list 2把list轉換為陣列,對陣列遍歷 object obj new object list.size list.toarray obj for迴圈遍歷陣列 3itera...

集合遍歷方式和List資料結構

collection集合 建立collection集合的物件 collection集合常用方法 1.2collection集合的遍歷 迭代器介紹 iterator中的常用方法 boolean hasnext 判斷當前位置是否有元素可以被取出 e next 獲取當前位置的元素,將迭代器物件移向下乙個索...

List物件集合的遍歷 物件賦值和向前臺傳遞

在前幾天的程式設計過程中,發現前台需要的資料不完整。從資料庫查出來的字段不夠,如果再多表聯查或者左聯會有我不想要的重複資料,而且會使sql更加複雜,不利於維護。所有我決定用私有方法單獨查出相應字段,然後通過增強for給每乙個物件賦值。這樣免除了多餘條,也給前台傳遞了完整的資料。根據entname 企...