Java中的容器用途为“存储对象”
分为两大类,相较于传统的数组,容器具有容量可自动扩充的优点,且各个容器还具有额外的特性
(1)Collection
List:按照插入顺序保存元素
Set:每个值只保存一次
Queue:按照排队规则来确定对象的产生顺序
添加元素:1.使用Arrays.asList()作为构造器的输入
2.构造器为空,使用Collections.addAll()添加(速度更快)
[API] Collections.addALL(Collection<? super T> c , T.... elements)
[Description]Adds all of the specified elements to the specified collection.
【注意】Arrays.asList()对于所产生的List类型做了最理想的假设
(2)Map
Map(映射表):存储的是两个对象,成为键值对,允许我们通过“键”来查找“值”,故也称为关联数组或者字典
迭代器(Iterator):将遍历序列的操作与序列底层的数据结构分离
效果:统一了容器的访问方式
Iterator可以移除由next()产生的最后一个元素,所以在调用remove()之前需要先调用next()
ListIterator是更强大的Iterator的子类,只用于List类型
可以双向移动
可以替换最后一个访问的元素
Set
特点:不保存重复元素,常用于测试归属性,所以查找是set的常用操作,常选用HashSet,专门对快速查询进行了优化
TreeSet使用红-黑树数据结构