1. 程式人生 > >List集合,Set集合,Map介面

List集合,Set集合,Map介面

List集合有序存取、有索引、可重複; 常用方法:add()、get()、remove()、set() ··ArrayList類:允許Null值; 允許重複; 底層資料結構是陣列,查詢快,增刪慢; 執行緒不安全,效率高; ··Vector類:與ArrayList類似,只不過Vector執行緒安全,ArrayList執行緒不安全。 ··LinkedList類:底層資料結構是連結串列,查詢慢,增刪快; 允許null值; 允許元素重複; 執行緒不安全,效率高。

Set集合無序存取(元素存與取順序可能不同),不可重複,允許一個null值(TreeSet不允許null值)。 ··HashSet類(底層結構是雜湊表結構),不保證set的迭代順序(存取的順序)。保證元素唯一性的方式依賴於:hashCode()與equals()方法 ~~LinkedHashSet(底層結構是 雜湊表結構 + 連結串列結構),是HashSet的子類,有序存取,並且唯一(雜湊表)。 ··TreeSet類:不允許儲存null 值(會報 NullPointerException 異常) 執行緒不安全,效率高。 01-建立無參的 TreeSet()時,對元素進行【自然排序】;元素實現Comparable介面,重寫元素的 int compareTo() 方法。 02-建立有參的 TreeSet(Comparator<? super E> comparator)時,對元素進行【指定比較器】排序: 獨立實現Comparator介面,重寫 int compare(元素1,元素2) 方法。 具體取決於使用的構造方法是 【有參還是無參】。

Map介面:鍵不能重複,每個鍵最多對映一個值,集合元素都是成對出現。 HashMap集合(底層採用雜湊表結構),是Map的子集合,通過重寫hashCode() 與 equals()方法來保證鍵的唯一。不能保證元素存與取的順序完全一致 1,鍵是雜湊表結構,見識唯一的 2,允許Null值,允許Null鍵 3,執行緒不安全,效率高 4,存取無序 ··LinkedHashMap集合(底層採用雜湊表+連結串列結構),是HashMap的子集合,通過重寫hashCode() 與 equals()方法來保證鍵的唯一。 ——TreeMap集合 鍵是紅黑樹結構,可以保證鍵的排序(自然排序)和唯一性,不能重複,key不能為null。 Map是雙列的,collection是單列的. Map的鍵是唯一的,Collection的子體系Set是唯一的 Map集合的資料結構值針對鍵有效,跟值無關,Collection集合的資料結構是針對元素有效 *SetkeySet()方法:返回map中所有鍵的集合,一Set集合的形式(Set集合不重複) *Collection value()方法: 返回所有的值得集合,以Collection集合的形式存在,可重複 *Set<Map.Entry>