1.1 集合概述
- 集合:集合是java中提供的一种容器,可以用来存储多个数据。
集合和数组既然都是容器,它们有什么区别呢? - 数组的长度固定的。集合的长度是可变的。
- 数组中存储的是同一类型的元素,可以存储基本类型值。集合存储的都是对象。而且对象的类型可以不一致。在开发中一般当对象多的时候,使用集合进行储存。
学习集合的目标:
1. 会使用集合的存储数据
2. 会遍历集合,把数据取出来
3. 掌握每种集合的特性
Collection接口
定义的是所有单列集合中共性的方法
所有的单列结合都可以使用共性的方法
没有索引方法
List接口
1.有序的集合(存储和去除元素顺序相同)
2.允许存储重复的元素
3.有索引,可以使用普通的for循环遍历
Set接口
1.不允许存储重复元素
2.没有索引
3.TreeSet和HashSet存储和去除是无序的集合
Vector集合:1
ArrayList集合:1
LinkList集合:1
TreeSet集合:1
HashSet集合:1
LinkedHashSet集合:1
Iterator迭代器
迭代:即Collection集合元素的通用获取方式。在取元素之前先要判断集合有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有就再取出出来,一直把集合中的所有元素全部取出。这种取出方式专业术语叫做迭代。
hasNext
第三章 泛型
泛型:一种未知的数据类型,当我们不知道什么类型的时候,可以使用泛型也可以看出是一个变量,用来接收数据类型。
E e: Element 元素
T t: Type 类型
ArrayList集合在定义的时候,不知道集合中存储什么类型的数据,所以类型使用泛型
创建集合对象时,不使用泛型
好处:
集合不使用泛型,默认的类型就是Object类型,可以存储任意类型的数据
1.避免了类型转换的麻烦,存储的是什么类型,取出的时候就是什么类型
2.把运行期异常(代码运行之后会抛出的异常),提升到了二编译器(写代码的时候会报错)
弊端:
不安全 ,会引发异常。
泛型是什么类型,只能存储什么类型的数据。