工具類Collection,Set的實現類HashSet和TreeSet,List的實現類ArrayList和LinkedList

Collection: 單例集合的根接口
List:如果是實現了List接口的集合類,具備的特點:有序,重複。

ArrayList:底層是使用了Object數組實現的,特點:查詢快,增刪慢
LinkedList:底層是使用了鏈表數據結構實現的,特點:查詢慢,增刪快

Vector:實現與AyyayList是一致的,相當於ArrayList的老版本
Set:如果是實現了Set接口的集合類,具備的特點:無序,不可重複

HashSet:底層是使用了一個哈希表支持的,特點:存取速度快

HashSet添加元素的原理:
往HashSet添加元素的時候,首先HashSet會調用元素的hashCode方法得到元素的哈希碼值,然後經過一系列運算就可以算出該元素在哈希表中的存儲位置

情況一:如果算出該元素的位置目前沒有任何元素存儲,那麼該元素可以直接存儲
情況二:如果算出該元素的位置目前已經存在其他的元素,如果equals方法返回的是true,那麼該元素就被視爲重複元素,不允許存儲

TreeSet:底層是使用了紅黑樹(二叉樹)數據結構實現的,
特點:會對元素進行排序存儲
TreeSet要注意的事項:

1:往TreeSet添加元素的時候,如果元素本身具備了自然順序的特性,那麼會根據自然順序的特性進行排序存儲
2:往TreeSet添加元素的時候,如果元素本身不具備自然順序的特性,那麼元素所屬的類必須要實現Coomparable接口,把元素的比較規則定義在CompareTo方法上
3:往TreeSet添加元素的時候,如果雨u安素本身不具備自然順序的特性,而且元素所屬的類沒有實現Comparable接口,那麼必須要在創建TreeSet對象的時候傳入比較器
4:如果比較的方法(CompareTo 或者Compare)返回的是0的時候,那麼該元素就被視爲重複元素,不允許添加

比價器的定義格式:自定義一個類實現Comparator接口即可

class 類 implement Comparator{

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