1.Java集合框架爲不同類型的集合定義了大量接口
其中,集合有兩個基本接口:Collection和Map。
2.各接口的主要特徵如下
(1)Collection接口:是List接口、Set接口和Queue接口的父接口,通常情況下不能被直接使用。
(2)List接口:實現了Collection接口,List接口允許存放重複的對象,按照對象的插入順序排列
(3)Set接口:實現了Collection接口,Set接口不允許存放重複的對象,按照自身內部的排序規則排列
(4)Queue接口:實現了Collection接口,Queue接口只允許在隊列的尾部添加元素,在隊列的頭部刪除元素,並且可以統計隊列中元素的個數。
(5)Map接口以鍵值對(Key-Value)的形式存放對象,其中鍵(key)對象不可以重複,值(Value)對象可以重複,按照自身內部的排序規則排列。
(6)Iterator接口:定義了訪問集合中元素的第一種方式,迭代器訪問,必須順序地訪問元素。
(7)RandomAccess接口:定義了訪問集合中元素的第二種方式,使用一個整數索引訪問,即隨機訪問,可以按任意順序訪問元素。
3.實現了各個接口的類
Java中集合的實現類的描述
- List
- ArrayList:可以動態增長和縮減的索引序列
- LinkedList:(實現了Queue接口)可以在任何位置進行高效地插入和刪除操作的有序序列,即鏈表序列
- Set
- HashSet:沒有重複元素的無序集(--子類LinedHashSet:可以記住元素插入次序的集)
- EnumSet:包含枚舉類型值的集
- TreeSet:有序集
- Queue
- PriorityQueue:允許高效刪除最小元素的集合
- ArrayDeque:用循環數組實現的雙端隊列
- Map
- HashMap:存儲鍵/值關聯的數據結構(--子類LinkedHashMap:可以記住鍵/值項添加次序的映射表)
- TreeMap:鍵/值有序排列的映射表
- EnumMap:鍵/值屬於枚舉類型的映射表
- WeakHashMap:其值無用武之地後可以被垃圾回收器回收的映射表
- IdentityHashMap:用「==」而不是equals比較鍵/值的映射表