集合的概念
- 数组 保存一组数的容器
- 数组的长度必须提前指定,而且一旦固定将不能更改
- 管理对象类型时,实现增删改查逻辑 相对比较麻烦
- 集合概念:保存一组数的容器
- 不用指定长度,并且可以自动扩容
- 管理对象类型时,实现增删改查逻辑 相对比较容易
- 可以存储任意类型,原本编译类型被丢弃,变为Object类,按原来类型使用时需要强转
集合的体系图
Collection的常见方法 (没有修改的方法)
add 添加单个,addAll 批量添加,remove 删除单个,removeAll 批量删除,contains 查找是否存在,size 获取实际元素个数,isEmpty 判断元素个数是否为0,clear 清除,iterator 获取该集合的迭代器对象
迭代器Iterator的工作原理:
- 通过hasNext判断下一个是否有元素,如果有返回true,否则返回false
- Iterator自带小指针,默认在集合的最上方(第一个元素的上方),
每次调用next方法实现下移一位,同时取出对应的元素
直到没有元素取出为止!!!
- 特点
① 每次只能下移,不能上移,② 每次只能移动一位,③ 迭代过程中,不能使用Collection接口本身的增删方法,会报异常。一般采用 Iterator本身的删除方法来实现。
Collection的遍历方法(两种)
// 迭代
Iterator iterator = c.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
// 遍历
for (Object object : c) {
System.out.println(object);
}