數據結構是一種用於實現集合的基本編程結構java
java中的集合框架圖:算法
-實現類:8個實現類(實線表示),對接口的具體實現。編程
⑤ Map接口是一組成對的鍵-值對象,即所持有的是key-value pairs。Map中不能有重複的key。擁有本身的內部排列機制。數組
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
public
class AddingGroups {
public
static
void main(String[] args) {
Collection<Integer> collection =
new ArrayList<Integer>(Arrays.
asList(
1, 2, 3, 4, 5));
Integer[] moreInts={6,7,8,9,10};
collection.addAll(Arrays.
asList(moreInts));
for (Integer i : collection)
System.
out.print(i + ",");
}
}
|
接口
|
實現類
|
保持插入順序
|
可重複
|
排序
|
使用說明
|
List
|
ArrayList
|
Y
|
Y
|
N
|
長於隨機訪問元素;但插入、刪除元素較慢(數組特性)。
|
LinkedList
|
Y
|
Y
|
N
|
插入、刪除元素較快,但隨即訪問較慢(鏈表特性)。
|
|
Set
|
HashSet
|
N
|
N
|
N
|
使用散列,最快的獲取元素方法。
|
TreeSet
|
N
|
N
|
Y
|
將元素存儲在紅-黑樹數據結構中。默認爲升序。
|
|
LinkedHashSet
|
Y
|
N
|
N
|
使用散列,同時使用鏈表來維護元素的插入順序。
|
|
Map
|
HashMap
|
N
|
N
|
N
|
使用散列,提供最快的查找技術。
|
TreeMap
|
N
|
N
|
Y
|
默認按照比較結果的升序保存鍵。
|
|
LinkedHashMap
|
Y
|
N
|
N
|
按照插入順序保存鍵,同時使用散列提升查找速度。
|