集合的概述
- 含义:
- Collection 层次结构 中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。JDK 不提供此接口的任何直接 实现:它提供更具体的子接口(如 Set 和 List)实现。此接口通常用来传递 collection,并在需要最大普遍性的地方操作这些 collection。
集合和数组的关系
-
相关:
1、都可以存储数据,都是用来将零散数据封装在一个整体的容器
2、都是可以使用容器中有规律的编号,来访问没规律的数据
3、底层都是数组 -
区别:
集合的体系结构
-
单列集合:
每个元素都是一个单独的个体 -
双列集合:
每个操作针对一堆数据进行的,没有单独的个体,两个个体结合层成一个形成一个单位 -
体系结构
单列结合:
Collecton 定义了单列集合都因该有的功能
List 有序的单列集合的顶层结构
Set 无序的单列集合的顶层接口
- 双列集合:
Map 双列集合的顶层接口
Collection
-
简单常用方法
1、 boolean add(E e)
确保此 collection 包含指定的元素(可选操作)。
2、boolean remove(Object o)
从此 collection 中移除指定元素的单个实例,如果存在的话(可选操作)。
3、int size()
返回此 collection 中的元素数。
4、 boolean contains(Object o)
如果此 collection 包含指定的元素,则返回 true。
5、 boolean isEmpty()
如果此 collection 不包含元素,则返回 true。
6、 Object[] toArray()
返回包含此 collection 中所有元素的数组。遍历集合的方式
-
第一种转数组:
- 使用 Object[] toArray() 转为Object的数组,遍历数组。
-
第二种使用迭代器:
- 集合体系中每一个实现类都有洗个用于遍历集合的迭代器对象。
- 获取迭代器
- Iterator iterator()
返回在此 collection 的元素上进行迭代的迭代器。
- Iterator iterator()
- 迭代器的使用
- 特点:
- 迭代:更换,更新换代,从这一次到下一次
- 只能关注到自己周围的状态,没有全局的视野
- 特点:
Collection c = new ArrayList();
c.add("ada");
System.out.println(c);
c.add(123);
System.out.println(c);
c.add(new Person("asd", 123));
//获取迭代器
Iterator it = c.iterator();
//判断是否还有下一个元素
while(it.hasNext()) {
Object ob = it.next();
System.out.println(ob);
}