ArrayList(数组存储结构)
每次扩容为1.5 倍
优缺点:
增加删除慢,查找快
//构造方法
ArrayList() 构造一个初始容量为10 的空列表
ArrayLIst(int initalCapacity) 构造具有指定容量的空列表
ArrayList(Collection<? extends E> c) 按照集合的迭代器返回的顺序构造一个包含指定集合元素的列表
方法摘要
变量和类型 方法 描述
void add(int index,E element) 将指定元素插入此列表中的指定位置
boolean add(E e) 将指定元素追加到此列表的末尾
boolean addAll(int index,Collection<? extends E> c)
从指定位置开始,将指定集合中的所有元素插入到此列表
boolean addAll(Collection<? extends E> c)
将指定集合中的所有元素按指定集合的Iterator返回的顺序附加到此列表末尾
void clear() 从此列表中删除所有元素
Object clone() 返回此 ArrayList实例的浅表副本
boolean contains(Object o) 如果此列表包含指定的元素,则返回true
void ensureCapacity(int minCapaity) 如有必要,增加此ArrayList实例的容量,以确保它至少可以容纳由minimum capacity参数指定的元素数
void forEach(Consumer<? super E> action) 对 Iterable每个元素执行给定操作,直到处理 Iterable所有元素或操作引发异常。
E get(int index) 返回此列表中指定位置的元素。
int indexOf(Object o) 返回此列表中第一次出现的指定元素的索引,如果此列表不包含该元素,则返回-1。
boolean isEmpty() 如果此列表不包含任何元素,则返回 true 。
Iterator<E> iterator() 以适当的顺序返回此列表中元素的迭代器。
int lastIndexOf(Object o) 返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回-1。
ListIterator<E> listIterator() 返回此列表中元素的列表迭代器(按适当顺序)。
ListIterator<E> listIterator(int index) 从列表中的指定位置开始,返回列表中元素的列表迭代器(按正确顺序)。
E remove(int index) 删除此列表中指定位置的元素。
boolean remove(Object o) 从该列表中删除指定元素的第一个匹配项(如果存在)。
boolean removeAll(Collection<?> c) 从此列表中删除指定集合中包含的所有元素。
boolean removeIf(Predicate<? super E> filter)
删除此集合中满足给定谓词的所有元素。
protected void removeRange(int fromIndex, int toIndex)
从此列表中删除索引介于 fromIndex (含)和 toIndex (独占)之间的所有元素。
boolean retainAll(Collection<?> c) 仅保留此列表中包含在指定集合中的元素。
E set(int index, E element) 用指定的元素替换此列表中指定位置的元素。
int size() 返回此列表中的元素数。
Spliterator<E> spliterator() 在此列表中的元素上创建late-binding和故障快速 Spliterator 。
List<E> subList(int fromIndex, int toIndex)
返回指定的 fromIndex (包含)和 toIndex (不包括)之间的此列表部分的视图。
Object[] toArray() 以适当的顺序(从第一个元素到最后一个元素)返回包含此列表中所有元素的数组。
<T> T[] toArray(T[] a) 以适当的顺序返回包含此列表中所有元素的数组(从第一个元素到最后一个元素); 返回数组的运行时类型是指定数组的运行时类型。
void trimToSize() 将此 ArrayList实例的容量调整为列表的当前大小。
举个例子
public class Demo{
public static void main(String[] args){
//ArrayList: 使用的是数组结构,对于增加删除慢,查找快
ArrayList<Integer> data = new ArrayList<>(); //
data.add(100);
System.out.println(data.get(0));
}
}