java集合面試重點總結

mischen520發表於2020-12-29

集合介紹

List Set Map 都是介面 List Set繼承Collection(Collections是工具類)

List子類(有序,可重複)---ArrayList、Vector、LinkedList

ArrayList、Vector 底層是陣列(查詢快,增刪慢) 前者執行緒不安全,後者執行緒安全

Linkedlist 底層是連結串列查詢慢,增刪快

Set(無序,唯一)---HashSet TreeSet LinkedHashSet

HashSet 底層是雜湊表(hashcode equals)

LinkedHashSet 底層是連結串列和雜湊表--插入有序唯一,連結串列保證有序、雜湊表保證唯一

TreeSet 底層結構是紅黑樹--唯一有序,自然排序、比較器排序

Map HashMap ThreeMap HashTable

HashMap HashTable 無序 前者非執行緒安全,效率高,允許有null(kv),後者執行緒安全,效率低,不允許null值。

TreeMap 有序

在集合中常見的資料結構(掌握)
    ArrayXxx:底層資料結構是陣列,查詢快,增刪慢
    LinkedXxx:底層資料結構是連結串列,查詢慢,增刪快
    HashXxx:底層資料結構是雜湊表。依賴兩個方法:hashCode()和equals()
    TreeXxx:底層資料結構是二叉樹。兩種方式排序:自然排序和比較器排序

相關文章