Java集合小記
Collection下集合
List
是一個有序集合,維持的順序是元素插入的順序,允許元素重複
1.ArrayList:
陣列,查詢元素很快,但刪除元素和新增元素的效率相對較差,預設大小是 10 個元素
2.LinkedList:
雙向連結串列,刪除、新增元素的效率很高,但查詢元素的的效率較差
3.Vector:
執行緒安全的按順序存放的陣列,大部分public方法都由synchronized修飾
Set
不與許重複元素
1.HashSet:
實現是HashMap,按照key的雜湊值儲存,無序
2.TreeSet:
值有序,按照元素值大小排序,實現是NavigableMap(SortedMap子類/TreeMap)
3.SortedSet介面 : 有序,自己實現comparator方法來排序
4.LinkedHashSet: 維持的順序是元素插入的順序
不屬於collection,但與set超有關係的… …
Map
1.HashMap : 元素無序,允許一個null key,預設大小是16個元素
2.TreeMap : 使用紅黑樹實現
3.SortedMap介面 : 需自己實現comparator方法實現排序
4.LinkedHashMap : 維持的順序是元素插入的順序
/**
* The iteration ordering method for this linked hash map: <tt>true</tt>
* for access-order, <tt>false</tt> for insertion-order.
*/
// 如果為true,則按照訪問順序;如果為false(default),則按照插入順序。
private final boolean accessOrder;
/**
* 雙向連結串列的表頭元素。
*/
private transient Entry<K,V> header;
/**
* LinkedHashMap的Entry元素。
*/
// 繼承HashMap的Entry元素,又儲存了其上一個元素before和下一個元素after的引用
private static class Entry<K,V> extends HashMap.Entry<K,V> {
Entry<K,V> before, after;
……
}
5.Hashtable :
是同步的,比較慢,幾乎所有的 public 的方法都是 synchronized 的,而有些方法也是在內部通過 synchronized 程式碼塊來實現
,不允許有個空的 key
相關文章
- Java 集合學習筆記Java筆記
- 【Java學習筆記】Collections集合Java筆記
- Java集合學習記錄——IteratorJava
- java小記-Java
- 【JAVA】筆記(12)---集合(1)-概述篇Java筆記
- java小記-scannerJava
- Java中的Map集合學習筆記Java筆記
- 【JAVA集合】JAVA集合框架及其常用方法Java框架
- 【Java集合原始碼剖析】Java集合框架Java原始碼框架
- 【Java集合】1 集合概述Java
- java集合Java
- java學習小記Java
- Java常用小筆記Java筆記
- 【網路程式設計】TCPIP-小筆記集合程式設計TCP筆記
- Java集合詳解(一):全面理解Java集合Java
- 六,Java集合Java
- java集合框架Java框架
- java集合概述Java
- Java集合:HashMapJavaHashMap
- JAVA_集合Java
- java集合-ListJava
- Java集合-CollectionJava
- Java 集合框架Java框架
- Java集合大全Java
- Java 集合概述Java
- 集合類【Java】Java
- Java集合——ArrayListJava
- 【java】【集合】TreeSetJava
- JAVA集合-ArrayListJava
- Java集合——LinkedHashMapJavaHashMap
- 探究Java集合Java
- Java集合——LinkedListJava
- Java集合 Collection、Set、Map、泛型 簡要筆記Java泛型筆記
- 關於 iOS 集合官方文件的一份小筆記iOS筆記
- Java集合實戰Java
- 【Java集合】2 ArrayListJava
- Java集合系列-HashSetJava
- JAVA集合——Map介面Java