java集合
java中的集合是工具类,可以存储任意数量的具有共同属性的对象。
1、为什么使用集合,而不用数组
- 无法预测存储数据的数量
- 同时存储具有一对一关系的数据
- 需要进行数据的增删
- 数据重复问题
2、集合框架的体系结构
2.1Collection
2.1.1List(有序允许重复)列表
主要实现类ArrayList
- ArrayList底层是由数组实现的
- 动态增长,以满足应用程序的需求
- 在列表尾部插入或删除数据非常有效
- 更适合查找和更新元素
- ArrayList中的元素可以为null
2.1.2Queue(有序允许重复)队列
主要实现类LinkedList
2.1.3Set(无需不许重复)集
主要实现类HashSet
- HashSet是Set的一个重要实现类,称为哈希集
- HashSet中的元素无序并且不可以重复
- HashSet中只允许一个null元素
- 具有良好的存取和查找特性
- 底层是HashMap
2.3.4Iterator(迭代器)(输出set中的值)
- Iterator接口可以以统一的方式对各种集合元素进行遍历
- hasNext()方法检测集合中是否还有下一个元素
- next()方法返回集合中的下一个元素
Set set = new HashSet();
....添加好多数据
Iterator it = set.inerator();
while(it.hasNext()){
....
}
2.2Map
主要实现类HashMap
2.2.1Map
- Map中的数据以键值对(key-value)的形式存储
- key-value以Entry类型的对象实例存在
- 可以通过key值快速地查找value
- 一个映射不能包含重复的键
- 每个键最多只能映射一个值
2.2.2HashMap
- 基于哈希表的Map接口的实现
- 允许null值和null键
- key值不允许重复
- HashMao中的Entry对象是无序排列的