List,Set,Map用法以及區別

2022-09-05 10:12:08 字數 624 閱讀 1648

list特點:元素有放入順序,元素可重複 

map特點:元素按鍵值對儲存,無放入順序 

set特點:元素無放入順序,元素不可重複(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的hashcode決定的,其位置其實是固定的) 

list介面有三個實現類:linkedlist,arraylist,vector 

arraylist和vector的區別:arraylist是非執行緒安全的,效率高;vector是基於執行緒安全的,效率低 

set介面有兩個實現類:hashset(底層由hashmap實現),linkedhashset 

sortedset介面有乙個實現類:treeset(底層由平衡二叉樹實現) 

query介面有乙個實現類:linklist 

map介面有三個實現類:hashmap,hashtable,linkehashmap 

hashmap非執行緒安全,高效,支援null;hashtable執行緒安全,低效,不支援null 

sortedmap有乙個實現類:treemap 

其實最主要的是,list是用來處理序列的,而set是用來處理集的。map是知道的,儲存的是鍵值對 

set 一般無序不重複.map kv 結構 list 有序 

Java中集合list ,set,map用法和區別

為什麼使用集合框架,而很少陣列作為儲存結構 1 陣列長度,不能動態擴容,集合框架無需宣告儲存大小,可以動態擴容 2 陣列儲存型別單一,集合框架可以儲存任何型別,加上泛型,可以避免強制轉換 3 陣列操作方法少,集合框架操作元素方法多,便於管理 常見的集合有 list集合 arraylist和linke...

typedef和 define的用法以及區別

一 typedef的用法 在c c 語言中,typedef常用來定義乙個識別符號及關鍵字的別名,它是語言編譯過程的一部分,但它並不實際分配記憶體空間,例項像 typedef int int typedef int array 10 typedef int pint typedef可以增強程式的可讀性...

onMeasure onLayout用法,區別

1.onmeasure a.屬於view的方法,用來測量自己和內容的來確定寬度和高度 b.view的measure方法體中會呼叫onmeasure 2.onlayout a.屬於viewgroup的方法,用來為當前viewgroup的子元素的位置和大小 b.view的layout方法體中會呼叫onl...