1 什么叫集合
持有对象!与数组功能相似。
java中的集合类都在java.util包中。
2 集合与数组的区别
从存储的数据类型来看:
l 可以定义基本类型的数组,用来存储基本类型数据。也可以定义引用类型的数组,存储引用类型的数据;
l 集合只能存储引用类型,而不能存储基本类型。
从长度来看:
l 数组一旦定义后,其长度就不能改变;
l 集合的长度会自动变化。
3 集合的功能
集合可以存取元素!这是对容器的基本功能。
集合还有很多对数据的操作方法,例如查看当前集合中是否包含某个元素、移除指定的元素等功能。
4 java全部集合类结构图
不可能把每个类都学习了。
其中加粗的是重点。
细虚线矩形框:接口
粗虚线矩形框:抽象类
实线矩形框:类
加粗实绩矩形框:重点类
实心三角箭头加虚线:可转换
空心三角箭头加虚线:接口间的继承,或抽象类与接口间的实现
空心三角箭头加实线:继承
Comparable与Comparator:与排序相关接口
Collections和Arrays:工具类(操作集合类与操作数组类)
追忆数组
1 基本类型数组使用
int[] arr = {1,2,3,4,5,6,7};
arr[0] = 100;//对指定位置的元素设置
arr[1] = 200;
System.out.println(arr[0]);//对指定位置的元素获取值。
System.out.println(arr[1]);
for(inti = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
2 学生数组使用
Person[] ps = {
newPerson("zhangSan", 23, "male"),
newPerson("liSi", 32, "female"),
newPerson("wangWu", 55, "male")
};
for(inti = 0; i < ps.length; i++) {
System.out.println(ps[i]);
}
3 数组的特性
l 数组长度不可变
l 数组不能添加删除元素
l 数组没有操作方法(查看数组中某个元素是否存在等方法)
l 数组中的元素在内存中是邻居,索引速度天下无敌!
可以把数组引用理解为数组在堆内存的地址。但数组有很多元素,它是哪个元素的地址呢?
例如:{1,2,3,4,5,6,7},它是下标为0的元素的地址。arr[3]
集合体系结构
1 学过哪些容器的类
数组、StringBuffer、StringBuilder
2 为什么有那么多集合类
每个集合类中有不同的数据存放方式,即数据结构不同。
例如:水杯、书柜、大衣柜都是容器,它们内部存储物件的方式是不同的。
这些集合类总会在某一个领域比较强,而在另一个领域比较弱。
Java为我们提供了这么多集合类的目的就是,让我们在不同的环境下使用不同的集合。
例如现在的手机也有音乐手机、照像手机等。
3 集合共性抽取
无论是什么集合,它们都是集合。所以可以把集合的共性向上抽取,而形成一个体系。在Java集合中的根就是Collection。
当我们学习了Collection的使用,那么就掌握了所有集合的基本操作。(学顶层,用底层)
4 Collection家族介绍
这是我们要学习的Collection内容。