文章目录
1、Collection概述
1.1 概述
集合框架图
集合框架体系如图所示
集合与数组的区别
1.2 Collection集合常用方法(JDK帮助文档)
求交集
1.3 Collection集合与数组之间的转换
集合 to 数组
数组 to 集合 (通过Arrays工具类实现)
注意:
包装类与基础数据类型的数组转集合的差异
原因:
- 转换时将基础数据类型的数组 整体作为一个 对象(元素)转成集合
- 而包装了类转换为集合时,每一个元素都是一个对象
List<int[]> list1 = Arrays.asList(new int[]{12, 123});
System.out.println(list1.size());
System.out.println(list1);
System.out.println("------------------");
List<Integer> list2 = Arrays.asList(new Integer[]{12, 123});
System.out.println(list2.size());
System.out.println(list2);
//输出
1
[[I@3cd1a2f1]
------------------
2
[12, 123]
1.4 使用Collection集合存储对象时,要求对象所属的类满足如下条件
要求该对象所在的类需要重写equals()方法
2、Colletion遍历
2.1 遍历Collection的两种方式
1、使用迭代器 Iterator
2、foreach循环
2.2 java.util.Iterator 接口
2.2.1 说明
- Iterator对象称为迭代器(设计模式的一种),主要用于遍历Collection集合中的元素。
- GOF给迭代器模式的定义:提供一种方法访问一个容器(container)对象中的各个元素,而又不需要暴露该对象的内部细节。 迭代器模式,就是为容器而生!
2.2.2 作用
遍历Collection集合元素
注意:不包括 Map
2.2.3 如何获取实例
coll.iterator()
2.2.4 遍历的代码实现
//方式一:通过迭代器 实现遍历
Iterator iterator = coll.iterator();
while (iterator.hasNext()){
System.out.println(iterator.next());
}
//方式二:通过Collection接口实现 - foreach
// coll.forEach(System.out::println);
2.2.5 示意图
2.2.6 remove方法
Collection coll = new ArrayList();
coll.add("aa");
coll.add("b");
coll.add("d");
coll.add("c");
//删除集合中的 "d"
Iterator iterator = coll.iterator();
while (iterator.hasNext()){
Object obj = iterator.next();
if ("d".equals(obj)){
iterator.remove();
}
}
注意
此方法不同于集合的 remove()方法
3、jdk1.5新特性 - foreach增强for循环
3.1 用于遍历集合
//foreach循环
// for(集合元素类型 局部变量 : 集合对象)
// 本质上还是迭代器
for (Object obj : coll) {
System.out.println(obj);
}
3.2 用于遍历数组
代码略