集合框架的體系結構
體系結構.png
List(列表)
- List是元素有序并且可以重復的集合,稱為序列
- List可以精確的控制每個元素的插入位置,或刪除某個位置的元素
- List的兩個主要實現類是ArrayList和LinkedList
ArrayList - ArrayList底層是由數組實現的
- 動態增長,以滿足應用程序的需求
- 在列表尾部插入或刪除非常有效
- 更適合查找和更新元素
- ArrayList中的元素可以為null
// 往list中添加 "Java","C","C++","Go", "swift"
List list = new ArrayList();
list.add("Java");
list.add("C");
list.add("C++");
list.add("Go");
list.add("swift");
// 輸出列表中元素的個數
System.out.println("列表中的元素的個數為:" + list.size());
// 遍歷輸出所有編程語言
System.out.println("*************************");
for(int i = 0 ; i < list.size(); i++){
System.out.print(list.get(i) + ",");
}
// 移除列表中的C++
System.out.println();
// list.remove(2)
list.remove("C++");
System.out.println("**********************");
System.out.println("移除C++以后的列表元素:");
for (int i = 0; I < list.size();i ++){
System.out.print(list.get(i) + ",");
}
Set
- Set是元素無序并且不可以重復的集合,被稱為集.
HashSet - HashSet是Set的一個重要實現類,稱為哈希集
- HashSet中的元素無序并且不可以重復
- HashSet中只允許一個null元素
- 具有良好的存取和查找性能
Iterator(迭代器)
- Iterator接口可以以統一的方式對各種集合元素進行遍歷
- hasNext()方法檢測集合中是否還有下一個元素
- next()方法返回集合中的下一個元素
Map
- Map中的數據是以鍵值對(key-value)的形式存儲的
- key-value以Entry類型的對象實例存在
- 可以通過key值快速的查找value
- 一個映射不能包含重復的鍵
- 每個鍵最多只能映射到一個值
HashMap - 基于哈希表的Map接口的實現
- 允許使用null值和null鍵
- key值不允許重復
- HashMap中的Entry對象是無序排列的