集合框架的体系结构
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对象是无序排列的