ArrayList
List接口中常用的一个子实现类ArrayList类是一个特殊的数组。它来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。
ArrayList集合的特点
线程不安全的,不同步的,执行效率高
局限性
跟一般的数组比起来,速度上差些。因为它是动态数组,初始化大小容量4,当数据存满时扩容是以当前数组容量大小的2倍扩容,之后再把数组元素一个一个的存入,数组在扩容时浪费一定的内存空间,和存储时间,而且,元素添加是一个装箱的过程,所以说,跟一般的数组比起来,速度上差些。
遍历功能:
1)一个是Collection的iterator()2)size()和get(int index)普通for循环
注意
使用集合ArrayList存储自定义对象,去除重复的对象,发现自定义对象并没有去重,contains方法底层依赖于equals方法。
equals方法默认比较的是地址值,如果想让equals()方法比较他们的内容是否相同,需要重写equals(),也就意味着存储自定义类,必须重写。
equals方法默认比较的是地址值,如果想让equals()方法比较他们的内容是否相同,需要重写equals(),也就意味着存储自定义类,必须重写。