linkedlist中使用迭代器出現併發修改異常,ConcurrentModificationException異常
阿新 • • 發佈:2019-02-12
package ejbwebdemo; import java.util.LinkedList; import java.util.ListIterator; public class jasgj { public static void main(String[] args) { LinkedList<String> s = new LinkedList<String>(); s.add("one"); s.add("two"); s.add("three"); ListIterator<String> list = s.listIterator(); ListIterator<String> list1222 = s.listIterator(); list.next(); // list.set("wowo"); // set修改不會出現異常,而remove,add 則會出現異常 list.remove(); list1222.next(); while (list.hasNext()) { System.out.println(list.next()); } System.out.println(s); } }
set不屬於結構性修改,而新增刪除屬於結構性修改。
1:連結串列不支援快速隨機訪問
2:list.get();方法的使用出現說明了程式元用錯了資料結構 ,換其他的資料結構吧!
3:for(int i=0;i<list.size();i++) { list.get(i) }//每次從列表頭部搜尋,超慢!
4:java 語言中的linkedList是double List.[雙向連結串列]