1:集合特点:
- 集合的大小不确定,启动后可以动态变化,类型也可以选择不固定。集合更像气球
- 集合非常适合做元素的增删操作
- 注意:集合只能存储引用类型数据,如果要存储基本类型数据可以选用包装类。
2:集合类体系结构
- 注意:前期先掌握Collection集合体系的使用
1:Collection集合体系
1:Collection集合特点
1: List系列集合:添加的元素是有序,可重复,有索引。
- ArrayList, LinekdList: 有序,可重复,有索引。
2:Set系列集合:添加的元素是无序,不重复,无索引。
- HashSet: 无序,不重复,无索引;LinkedHashSet:有序,不重复,无索引。
- TreeSet : 按照大小默认升序排序,不重复,无索引。
2:集合对于泛型的支持
- 集合都是支持泛型的,可以在编译阶段约束集合只能操作某种数据类型。
注意:集合和泛型都只支持引用数据类型,不支持基本数据类型。所以集合中存储的元素都认为是对象。
2:Collection集合常用API
- Collection是单列集合的祖宗接口,它的功能是全部单列集合都可以继承使用的。
1:API:
3:Collection集合的遍历方式
1:方式一:迭代器
- 遍历就是一个一个的把容器中的元素访问一遍
- 迭代器在java中的代表是lterator,迭代器是集合的专用遍历方式。
1:Collection集合获取迭代器
2:lterator中的常用方法
2:方式二:foreach/增强for循环
- 增强for循环:既可以遍历集合也可以遍历数组
- 他是JDK5之后出现的,其内部原理是一个lterator迭代器,遍历集合相当于是迭代器的简化写法。
- 实现lterable接口的类才可以使用迭代器和增强for,Collection接口已经实现了lterable接口。
2:格式:
3:方式三: lambda表达式
1:Collection结合Lambda遍历的API
1:lists.forEach(new Consumer<String>() { @Override public void accept(String s) { System.out.println(s); } }); 2: lists.forEach(s->{ System.out.println(s); }); 3: lists.forEach(s-> System.out.println(s)); 4: lists.forEach(System.out::println);
4:Collection集合存储自定义类型的对象
存的是地址,要对象的话可以重写。