集合框架能否存null
Hashtable:
1. key和value都不許有null值
2. 使用enumeration遍歷
3. 同步的,每次只有一個執行緒能夠訪問
4. 在java中Hashtable是H大寫,t小寫,而HashMap是H大寫,M大寫
HashMap:
1. key和value可以有null值
2. 使用iterator遍歷
3. 未同步的,多執行緒場合要手動同步HashMap
HashSet
1. 底層呼叫HashMap
2. 不允許有重複值
List 集合可以儲存null,新增幾個,儲存幾個;
Set集合也可以儲存null,但只能儲存一個,即使新增多個也只能儲存一個;
HashMap可以儲存null鍵值對,鍵和值都可以是null,但如果新增的鍵值對的鍵相同,則後面新增的鍵值對會覆蓋前面的鍵值對,即之後儲存後新增的鍵值對;
Hashtable不能碰null,不管是值還是鍵,一見null就報空指標
List特點:元素有放入順序,元素可重複
Map特點:元素按鍵值對儲存,無放入順序 (LinkeHashMap有序)
Set特點:元素無放入順序,元素不可重複(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的HashCode決定的,其位置其實是固定的)
List介面有三個實現類:LinkedList,ArrayList,Vector
LinkedList:底層基於連結串列實現,連結串列記憶體是散亂的,每一個元素儲存本身記憶體地址的同時還儲存下一個元素的地址。連結串列增刪快,查詢慢
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是知道的,儲存的是鍵值對
相關文章
- 集合框架-ArrayList集合儲存自定義物件的排序案例框架物件排序
- 集合框架(List儲存字串並遍歷)框架字串
- 【集合框架】Java集合框架綜述框架Java
- 集合框架-TreeMap集合框架
- 集合框架-Set集合框架
- 集合框架-TreeSet集合框架
- 集合框架-Collection集合框架
- 集合框架-List集合框架
- 集合框架框架
- MySQL null值儲存,null效能影響MySqlNull
- 集合框架-集合總結框架
- 集合框架-List集合-2框架
- 集合框架-List集合-3框架
- 集合框架-Collection集合-2框架
- 集合框架-Collection集合-3框架
- 集合框架-HashSet儲存字串、自定義物件並遍歷框架字串物件
- 使用一session能否記錄一個集合???Session
- 集合框架-Map集合功能概述框架
- 集合框架-HashMap集合的案例框架HashMap
- Java集合(1)一 集合框架Java框架
- 集合框架-Collection集合總結框架
- Java集合框架系列教程一:集合框架簡介Java框架
- Java 集合框架Java框架
- 集合框架-Collections框架
- java集合框架Java框架
- 集合框架-Map集合的遍歷框架
- 集合框架-增強for框架
- 10.集合框架框架
- 【Java集合原始碼剖析】Java集合框架Java原始碼框架
- 集合框架-集合的巢狀遍歷框架巢狀
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- 集合框架-ArrayList儲存字串、自定義物件並遍歷泛型版框架字串物件泛型
- 集合框架-HashSet儲存元素保證唯一性的圖解框架圖解
- MySQL Innodb 儲存結構 & 儲存Null值 解析MySqlNull
- 「譯」Java集合框架系列教程二:集合介面Java框架
- JAVA集合框架 - Map介面Java框架
- Java集合框架學習Java框架
- 集合框架2- ArrayList框架