ArrayList、LinkedList、HashSet、TreeSet間的區別和聯繫。



Collection

           |--List:元素是有序的,元素可以重複。因爲該集合體繫有索引。

                     |--ArrayList:底層的數據結構使用的是有序數組結構。特點:查詢速度很快O(1)。但是增刪稍慢O(n)。線程不同步。

                     |--LinkedList:底層使用的鏈表數據結構。特點:增刪速度很快O(1),查詢稍慢O(n)。線程不同步。

                     |--Vector:底層是數組數據結構。線程同步。如果不是多個線程操作集合用ArrayList。因爲Vector效率低。

 

           |--Set:元素是無序(存入和取出的順序不一定一致),元素不可以重複。

                     |--HashSet:底層數據結構是哈希表。是線程不安全的。不同步。保證元素唯一性原理是判斷元素的HashCode是否相同,如果相同還會繼續判斷元素的equals方法是否爲true.

                     |--TreeSet: 底層數據結構是二叉排序樹。根據compareTo方法的返回值來判斷元素大小。可以對Set集合中的元素進行排序,可指定按某種規則排序。

發佈了62 篇原創文章 · 獲贊 34 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章