常用集合整理筆記

2021-10-14 14:41:10 字數 2626 閱讀 1611

1.集合

定義是乙個長度可變的容器;

陣列是唯一的底層容器;

只能儲存引用資料型別;儲存基本資料型別會自動裝箱變成包裝類物件.

分類collection集合:單列集合;

list集合:有序可重複

set集合:無序不可重複

map集合:單列集合

常用方法:

add(e) add(index,e) 新增元素

remove(index) remove(e) 刪除元素

set(index,e)改 get(index)查

indexof(e) lastindexof() clear() contains(e) size() isempty()

addall(collection) removeall(collection) containsall(collection) retainall()

2.list集合

有序的,儲存重複的資料;

arraylist集合:底層使用陣列;有序的,每次增刪都要改動陣列中的角標,增刪效率低下

初始化會有乙個預設長度是10的陣列,儲存元素超過陣列長度之後,自動擴容一半

linkedlist集合: 底層使用鍊錶,增刪效率高,查改效率低

e remove() e poll()獲取並移除此列表的頭;

e p()

3.set集合

無序(集合無序),沒有重複元素,去重

方法:addall(collection) removeall(collection) containsall(collection) retainall() size()

clear() contains(o) isempty()

hashset:底層是陣列,去重效率不受集合中元素的個數影響

預設初始容量16(每次擴容一倍),載入因子0.75

hashset(collection<>c)

引用資料型別去重:重寫hashcode和equals方法,自定義比較內容(比較是否重複)

linkedhashset:有序,元素唯一性

treeset:底層是二叉樹,去重,排序(小的在左邊,大的在右邊)

方法:add(e e)新增 first()返回此set當前第一元素; last()返回此set最後乙個元素

floor()返回此set中小於等於給定元素的最大元素,不存在則返回null

higher()返回此setset中嚴格大於給定元素的最小元素,不存在則返回null

campareable介面:比較物件,需實現campareable介面,並重寫comparto方法

方法返回負數,表示當前元素小於被比較元素;

方法返回0,表示當前元素等於被比較元素;

如果返回正數, 表示當前元素大於被比較元素

camparator比較器:介面,定義campare抽象方法

方法返回負數,表示引數1小於引數2;

方法返回0,表示引數1等於引數2;

如果返回正數, 表示引數1大於引數2

特點:第三方比較器優先順序比較高

4.迭代器

iterator:介面;元素沒有角標可以適用,把原集合所有元素複製一遍成煉表結構

呼叫hasnext()方法判斷下乙個元素是否存在

呼叫next()方法獲取元素

迭代器遍歷過程中,對原集合修改會導致遍歷程式報錯,可使用迭代器的方法進行修改

簡寫形式:超級for迴圈,對元素無法刪除

格式:for(元素資料型別 變數 : 陣列或者collection集合)

5.collections工具類

常用方法: sort(list list) 根據元素的自然順序排序

swap(list list , int i , int j) 交換集合中兩個角標位上的值

reverse(list<?> list ) 反轉集合中的元素的順序

replaceall(list list, t oldval, t newval) 替換

6.map集合

雙列集合,為了快速查詢,鍵與值一一對應

方法v put(k key,v value)

void clear()

v remove(object key)

判斷方法: boolean containskey(object key):判斷集合是否包含指定的鍵

boolean containsvalue(object value):判斷集合是否包含指定的值

boolean isempty:判斷集合是否為空

獲取方法:

set>entryset():獲取所有的鍵值對

v get(object key):根據鍵獲取值

setkeyset():獲取集合中所有鍵的集合

collectionvalues():獲取集合中所有值的集合

int size():返回集合中鍵值對的個數

遍歷:keyset()鍵; values()值; entryset()鍵值對

hashmap:底層是陣列,key的hashcode值⇌index;

hashtable:執行緒安全,不可儲存null鍵和null值

treemap

7.泛型

引數化型別;編譯期生效;<>中必須是引用資料型別;前後的泛型必須一致

可以定義在類上,方法上,介面上

萬用字元歡迎指教,謝謝!

元組,集合,字典筆記整理

一 1 is 和 的區別 id 是指變數在記憶體中的儲存位置 value 是指變數的值 type 是指變數的型別 當a is b 時為真時,id a id b type a type b value a value b 當a b 時為真時,value a value b type a type b ...

Python中字典跟集合整理筆記

字典的變種 不可變的對映型別 集合 dict 和 set 的背後 dict 的實現及其導致的結果 set的實現以及導致的結果可以參照沒有值dict 對映型別 不僅僅是dict,標準庫里的所有對映型別都是利用dict來實現的,因此它們有個共同的限制,即只有可雜湊的資料型別才能用做這些對映的鍵。只有鍵有...

學習筆記 常用指令碼整理

1 addloadevent 網頁載入完成後把多個自己編寫的函式繫結到window.onload事件中 把現有的window.onload事件處理函式的值存入便令oldonload。如果在這個處理函式上還沒有繫結任何函式,就像平時那樣把新函式新增給它。如果在這個處理函式上已經繫結了一些函式,就把新函...