java基礎 7 集合

2021-09-24 17:36:04 字數 1643 閱讀 7933

基礎-物件導向/語法/異常/常用api/資料型別/io/集合/多執行緒/高併發**

(1)arraylist:底層資料結構是陣列,查詢快,增刪慢,執行緒不安全,效率高,可以儲存重複元素

(2)linkedlist 底層資料結構是鍊錶,查詢慢,增刪快,執行緒不安全,效率高,可以儲存重複元素

(3)vector:底層資料結構是陣列,查詢快,增刪慢,執行緒安全,效率低,可以儲存重複元素

(4)linkedhashset底層資料結構採用鍊錶和雜湊表共同實現,鍊錶保證了元素的順序與儲存順序一致,雜湊表保證了元素的唯一性。執行緒不安全,效率高。

(5)treeset底層資料結構採用二叉樹來實現,元素唯一且已經排好序;唯一性同樣需要重寫hashcode和equals()方法,二叉樹結構保證了元素的有序性。

hashmap 非執行緒安全

hashmap:基於雜湊表實現。使用hashmap要求新增的鍵類明確定義了hashcode()和equals()[可以重寫hashcode()和equals()],為了優化hashmap空間的使用,您可以調優初始容量和負載因子。

treemap:非執行緒安全基於紅黑樹實現。treemap沒有調優選項,因為該樹總處於平衡狀態。

hashmap:適用於map中插入、刪除和定位元素。

treemap:適用於按自然順序或自定義順序遍歷鍵(key)。

執行緒安全集合類與非執行緒安全集合類

linkedlist、arraylist、hashset是非執行緒安全的,vector是執行緒安全的;

hashmap是非執行緒安全的,hashtable是執行緒安全的;

stringbuilder是非執行緒安全的,stringbuffer是執行緒安全的。

資料結構

array***:底層資料結構是陣列,查詢快,增刪慢 linked***:底層資料結構是鍊錶,查詢慢,增刪快

hash***:底層資料結構是雜湊表。依賴兩個方法:hashcode()和equals()

tree***:底層資料結構是二叉樹。兩種方式排序:自然排序和比較器排序

Java基礎14 集合List

注意 1.list集合 arraylist,linkedlist,vector 是根據 equals 方法進行元素的相等判斷的,由於list集合是可以重複的,那麼在使用remove,contains等方法時,就是根據equals來的.2.只有實現了iterable介面的類,才可以進行for each...

Java基礎16 集合Map

1.對於重複元素的處理 set 當出現重複元素,丟棄 map 當出現重複元素,存入,將原資料進行覆蓋 2.map.entry就是乙個鍵值對,是map集合的組成關係 3.properties 主要用於操作配置檔案.一.map集合 1.什麼是map集合 map集合可以儲存鍵值對,在儲存的時候存乙個鍵物件...

java基礎(五) 集合

1.集合與陣列的區別 1 陣列不可變長度,集合可變長度 2 陣列裡可放基本資料型別和物件,集合只能放物件 2.集合框架頂層介面collection的共性方法 增 add object obj addall collection c 刪 clear remove object obj removeal...