您好,登錄后才能下訂單哦!
小編給大家分享一下collection集合體系與并發修改異常怎么辦,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
collection是單列集合的頂層接口,下面還包括了兩個常用子接口 List、set
List:
list接口有兩個實現的子類:特點是:有序且可重復
ArrayList的數據結構是數組結構
LinkedList的數據結構是鏈表結構
1、ArrayList:特點:查詢快 增刪慢
初始容量大小為10 擴充容量算法為 ((舊容量 * 3) / 2) + 1
如果你知道你的arrayList 會達到多少容量,可以在初始化的時候就指定,能節省擴容的性能開支
2、LinkedList:特點: 增刪快 查詢慢
linkedList 是一個雙向鏈表,沒有初始化大小,也沒有擴容的機制,就是一直在前面或者后面新增就好。
set:
set接口有兩個實現的子類:特點是:無序且不可重復
1、HashSet:
HashSet集合不能保證的迭代順序與元素存儲順序相同。但是能保證數據的唯一性
2、LinkedHashSet:
linkedHashSet集合能保證數據的唯一性和元素存儲順序相同。
并發修改異常的出現原因和解決方法:
異常:Exception in thread "main" java.util.ConcurrentModificationException
原因:
迭代器是依賴于集合而存在的,在判斷成功后,集合中新添加了元素,而迭代器卻不知道,所以就報錯了,這個錯叫并發修改異常。
解決方法:
A:迭代器迭代元素,迭代器修改元素
B:集合遍歷元素,集合修改元素(普通for)
以上是“collection集合體系與并發修改異常怎么辦”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。