1.容器和数组的区别
容器,只能存放引用类型的数据,基本类型的数据需要转换成它的包装类,才可以使用,长度是可以变得。
数组,基本数据类型和引用数据类型都可以存放,长度是固定的,在定义的时候就已经被定义好了。
2.Collection 底层就是一个数组,每次添加数据的时候就会判断容量是否能够存放,不能够存放的话,就进行扩容,每次扩容的大小是之前数组大小的1.5倍。
Collection实现的方法:
add 向容器增加一个数据
remove 删除容器里的数据
addAll 将参数里面所有的内容都添加到容器中
removeAll 删除参数里面包含的所有数据
size 返回容器的实际使用大小
contains 查看是否包含某个数据
equals 判断两个容器是否相等
isEmpty 判断容器是否为空
clear 清空容器中所有的数据
3.自定类中重写equals方法和toString方法
自定义类里面,因为继承了Object类,所以Object的一些方法,就被自定义类继承了,其中Object的toString方法里面返回的是这个引用的hash值,然而这个数据并不需要,我们只需要类里面每个元素,内容的详细信息,这里我们就要重写toString来满足我们自己的需要。
Object类里面的equals方法,源代码里面就一个return语句,返回的是两个地址的比较,我们类里面需要的比较,是类里面内容的比较,是否两个类里面的内容相同,如果相同那么这两个对象就相等,我们需要的是逻辑上的相等,而不是物理上的相等,所以我们也要在自己的类中,最好重写这两个方法。