1、概述
ArrayList使用的是动态数组结构,增删慢,查找快,线程不安全
有序:按照添加的顺序
不唯一:可以存储相同的元素
实现的接口有Collection、List等等
创建格式:
ArrayList<E> data = new ArrayList<>();
注:所有大写的 E 是泛型,文章里面没有实例,需要自己去熟练各方法
2、构造方法
1、ArrayList()
ArrayList() :构造一个初始容量为10的空列表
2、ArrayList(int initialCapacity)(自定义初始容量)
ArrayList(int initialCapacity):构造具有指定初始容量的空列表在括号内输入你要定义的初始容量
initialCapacity :初始容量
3、ArrayList (Collection<? extends E> c)
ArrayList (Collection<? extends E> c) :按照集合的迭代器返回的顺序构造一个包含指定集合元素的列表。
3、方法
1、add方法
1、add(int index,E element)(指定位置添加)
add(int index,E element) : 将指定元素插入此列表的指定位置,在括号内先输入你要插入的位置(下标),在输入你要插入的元素
返回值类型是 void
index :是下标,element :是元素
2、add(E e)(末尾添加)
add(E e):将指定元素追加到此列表的末尾,在括号内输入你要添加的数,会自动将你要添加的元素添加到该集合的末尾
返回值类型是 boolean
3、addAll(int index,Collection <?extends E> c)
addAll(int index,Collection c <? extends E> c):从指定位置开始将指定集合中的所有元素插入此列表,
返回值类型是 boolean
4、addAll(Collection <? extends E> c)
addAll(Collection c <? extends E> c):将指定集合中的所有元素按指定集合的 Iterator 返回的顺序附加到此列表的末尾,
返回值类型是 boolean
2、clear()(清除所有元素)
clear():从此列表中删除所有元素,将集合内的所有元素全部删除掉
返回值类型是 void
3、clone ()
clone():返回ArrayList实例的浅表副本
返回值类型是 Object
4、contains(Object o)(查找元素)
conttains(Object c):如果此列表包含指定的元素,则返回 true,在括号内输入你要查找的元素,如果找到就会返回true,
返回值类型是 boolean
5、ensureCapacity(int minCapacity)
ensureCapacity(int minCapacity):如有必要,增加此 ArrayList实例的容量,以确保它至少可以容纳由minimum capacity参数指定的元素数,
返回值类型是 void
6、forEach(Consumer<?super E> action)
forEach(Consumer<?super E> action):对Iterable每个元素执行给定操作,直到处理Iterable所有元素或操作引发异常。
返回值类型是 void
7、get(int index)(通过下标获取元素)
get(int index):返回此列表中指定的元素,在括号内输入你想要获取的元素的下标,就会返回这个元素
返回值类型是 E(泛型)
8、indexOf(Object o)(查找第一次出现的位置)
indexof(Object o):返回此列表中第一次出现的指定元素的索引(下标),如果此列表中不包含该元素,则返回 -1,在括号内输入你要查找的元素,如果有一个或多个,返回第一找到的该元素的下标
返回值类型是 int
9、isEmpty()(判断列表是不是空的)
isEmpty():如果此列表不包含任何元素,则返回 true,判断这个集合里面有没有元素
返回值类型是 boolean
10、iterator()(迭代器)
iterator():以适当的顺序返回此列表中的元素的迭代器
返回值类型是 Iterator,
11、lastIndexOf(Object o)(查找最后一次出现的位置)
lastIndexOf(Object o):返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回 -1,在括号内输入你要查找的元素,如果有一个或多个,返回找到的最后一个该元素的下标
返回值类型是 int
12、listIterator
1、listIterator()
listIterator():返回此列表中元素的列表迭代器,按适当顺序,
返回值类型是 listIterator
2、listIterator(int index)
listIterator(intindex):从列表中的指定位置开始,返回列表元素的列表迭代器,按正确顺序
返回值类型是 istIterator
13、remove方法
1、remove(int index)(指定位置删除)
remove(int index):删除此列表中指定位置的元素,在括号内输入你要删除的元素的下标,删除后会把这个删除的元素返回给你
返回值类型是 E
2、remove(Object o)(删除第一次出现的元素)
remove(Object o):从该列表中删除指定元素的第一个匹配项(如果有的话),在括号内输入你要删除的元素,如果有一个或多个,删除第一个找到的该元素
返回值类型是 boolean
3、removeAll(Collection< ?> c)
removeAll(Collection<?> c):从此列表中删除指定集合中包含的所有元素,
返回值类型是 boolean
4、removeIf(Predicate<? super E> filter)
removeIf(Predicate<? super E> filter):删除此集合中满足给定谓词的所有元素
返回值类型是 boolean
5、removeRange(int fromIndex,int toIndex)(删除一个区间的元素)
removeRange(int fromIndex,int toIndex):从此列表中删除索引(下标)介于 fromIndex(含)和 toIndex(不含)之间的所有元素,在括号内输入起始下标(包含)和结束下标(不包含),删除这个区间的所有元素
返回值类型是 protected void
14、retainAll(Collection<?> c)
retainAll(Collection<?> c):仅保留此列表中包含在指定集合中的元素,
返回值类型是 boolean
15、set(int index,E element)(更改指定位置的元素)
set(int index,E element):用指定的元素替换此列表中指定位置的元素,在括号内输入你要修改的元素的下标,再输入你要更改的值,把更改之前的值返回给你
返回值类型是 E
16、size()(查找有多少个元素)
size():返回此列表中的元素数,查找这个集合里面存了多少个元素
返回值类型是 int
17、spliterator()
spliterator():在此列表中的元素上创建late-binding和故障快速 Spliterator
返回值类型是 Spliterator
18、subList(int fromindex,int toIndex)
subList(int fromIndex,int toIndex):返回指定的 fromIndex(含)和 toIndex(不含)之间的此列表部分的视图
返回值类型是 List
19、toArray()
toArray():以适当的顺序返回包含此列表的所有元素的数组
返回值类型是 Object[],
20、toArray(T[] a)
toArray(T[] a):以适当的顺序返回包含此列表中所有元素的数组,返回数组的运行时类型是指定数组的运行时类型,
返回值类型是 T[]
21、trimToSize()
trimToSize():将此 ArrayList实例的容量调整为列表的当前大小
返回值类型是 void