List————注:以下方法用法都是 list.方法名();这里的list是自己定义的集合名
定义List集合代码为
List list=new ArrayList<>();
—— ArrayList 实现了长度可变的数组,在内存中分配连续的空间。遍历元素和随机访问元素的效率比较高。
——LinkedList 采用链表存储方法。插入,删除元素是效率比较高。
【在数据量比较小的时候两个都是可以用的。,效率体现在数据链比较大的时候】
List接口的常用方法
Object remove(int index)—— 删除一个元素,可以指定元素下标位置,也可以指定某个元素 返回被删除的元素
list.remove("a"); —— 这是删除第一个碰到的 a list.remove(1); ——这是删除下标为1对应的元素
要是遇到要删除对应元素是整数或者是char可以在元素前面转为引用数据类型
list.remove((Character)'a'); ——这是删除指定为a的char型元素 list.remove((Integer)1);——删除元素值为1
的元素
boolean add(Object o)—— 在列表的末尾顺序添加元素,起始索引位置从零开始
void add(int index,Objext o)—— 在制定位置添加元素 index为插入元素将来的下标位置
int size()——返回列表中的元素个数 用法—— list.size()
Object get(int index)——返回指定位置处的元素取出的元素是Object类型使用前需要强制转换
boolean contains(Object o) ——判断列表中是否存在指定元素
addAll 将一个数组全部添加到另一个数组的后面 list.addAll(list2);
indexOf 返回元素第一次出现对应的下标 list.indexOf(1);
lastIndexOf 返回元素第一次出现对应的下标 list.lastIndexOf(1);
clear 清空数组 ,只清空数组,不清空引用。list.clear();
list=null才会清空引用;
removeAll 例 list.removeAll(list2);在list中删除list2中的包含的所有元素,即使list2中的某个元素在list存在多次,也全部删除