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。如果在這個處理函式上還沒有繫結任何函式,就像平時那樣把新函式新增給它。如果在這個處理函式上已經繫結了一些函式,就把新函...