1.1 List存储特点?
有序 可重复 有下标 从0开始递增
1.2 List接口特有的方法
void add(int index, Object element)
Object set(int index, Object element)
Object get(int index) 根据下标返回元素
int indexOf(Object o) 获取指定元素第一次出现的索引
int lastIndexOf(Object o) 获取指定元素最后一次出现的索引
Object remove(int index) 删除指定位置的元素
1.3 ArrayList 集合
1 默认初始的容量是10(底层先创建一个长度为0的数组,当添加第 一个元素时,初始化容量为10);
注意:如果没有向集合中添加元素 容量为0
private static final int DEFAULT_CAPACITY = 10;
2 集合的底层是Object[] 数组
3 构造方法,可以指定初始化容量
4 size() 获取当前集合中元素的个数,非容量
5 ctrl+shift+f12 最大化窗口 idea
6 使用ArrayList 集合最多,往数组末尾添加元素不受影响。
7 检索效率高的原因(数组的优点)?
每个元素占用内存空间大小相同,内存地址连续,知道首元素地址,然后知道下标,通过表达式计算出元素的内存地址,进行直接的访问,所以检索效率较高。为常数时间的操作
8 数组的缺点?
随机增删元素的效率较低,数组无法存储大容量的数据(很难找到一块巨大的连续内存空间)