集合學習筆記

2021-09-29 23:21:00 字數 853 閱讀 8607

1、collection是乙個介面,是高度抽象出來的集合,包含了list和set兩大分支。

(1)list是乙個有序的佇列,list的實現類有linkedlist, arraylist, vector, stack。

1.arraylist,執行緒不安全,底層使用陣列實現的,動態陣列增量為50%,查詢快增刪慢。

2.linkedlist,執行緒不安全,底層資料結構是乙個雙向鍊錶,查詢慢,增刪快。

3.vector,執行緒安全,動態陣列增量為100%,其餘和arraylist差不多。

(2)set是乙個不允許有重複元素的集合。set的實現類有hastset和treeset。

1,hashset 無序不重複,由hashmap實現的,資料結構與hashmap一樣。hashset按hash演算法來儲存集合的元素,因此具有很好的訪問和查詢效能。

2,linkedhashset 有序不重複,執行緒不安全

3,treeset有序不重複,執行緒不安全

2、map是乙個對映介面,即key-value鍵值對。map中的每乙個元素包含「乙個key」和「key對應的value」。abstractmap是個抽象類,它實現了map介面中的大部分api。而hashmap,treemap,weakhashmap都是繼承於abstractmap,hashtable雖然繼承於dictionary,但它實現了map介面。

1.hashmap底層資料結構為線性表+鍊錶,jdk1.8之後當hash值相同的元素大於8個時候,儲存結構會變成紅黑樹來儲存

2,linkedhashmap

3,hashtable執行緒安全,key value都不能為空。

集合學習筆記

此文為讀書摘抄筆記,摘抄自這裡 list set是,map不是。map是鍵值對對映容器,與list和set有明顯的區別,而set儲存的零散的元素且不允許有重複元素,list是線性結構的容器,適用於按數值索引訪問元素的情形。arraylist和linkedlist都實現了list介面,他們有以下的不同...

JAVA學習筆記 集合

集合部分注意的問題 1.各個介面的特點 2.遍歷。3.集合能進行的操作。4.其實現類的差異。1.collection介面的實現類中的元素是物件object.集合類 集合可以容納 管理多個物件。list介面 其實現類儲存的元素有順序,元素可以重複,實現類 arraylist。set介面 其實現類儲存的...

List集合學習筆記

asp.net unity開發 net培訓 期待與您交流!集合 1特點 集合中存放的都是物件,長度是不可變的,陣列可以存放基本資料型別,長度不可變。2框架 collection list 元素是有序的,元素可以重複,因為該集合體系有索引,特有的迭代器,listiterator是iterator的子介...