ArrayList集合的常用方法

#ArrayList存储数据的特点
存储的是有序,不唯一的对象。长度可变的数组,遍历元素和随机访问元素的效率较高。
#用下面的集合做例子
ArrayList<Integer>list=new ArrayList<>();
list.add(1); list.add(10);list.add(20);
#1.add(E e) 在集合的末尾添加数据  返回的boolean
例子:list.add(1)   --->返回true
#2.add(int index,E e) 无返回值
表示在集合指定的位置插入此元素,之前此位置及其后面的位置的元素都往后移
例子:list.add(1,20)  --> 返回[1,20,10,20]
#3.addAll(Collection<? extends E> c) 返回值boolean
将指定集合中的元素全部加到此集合的末尾
例子:ArrayList<Integer>nums=new ArrayList<>();
nums.addAll(list)   --->[1,10,20]
#4.addAll(int index, Collection<? extends E> c) 返回boolean
将指定集合中的所有元素插入到此列表中,从指定的位置开始
例子:ArrayList<Integer>nums=new ArrayList<>();
 nums.add(80);nums.add(100);
 nums.addAll(1,list)  --->[80,1,10,20,100]
#5.clear()   无返回值,从列表中删除所有的数据
#6.clone() 返回值Object
返回此 ArrayList实例的浅拷贝。仅复制对象的引用。如果我们在第一个ArrayList中更改对象状态,则更改后的对象状态也将反映在克隆的ArrayList中。
例子:ArrayList list2=(ArrayList)list.clone(); --->[1,10,20]
#7.contains(Object o)  返回值boolean
判断集合中是否包含此元素
list.contains(30)  ---->false
#8.ensureCapacity(int minCapacity)  无返回值
如果需要,增加此 ArrayList实例的容量,以确保它可以至少保存最小容量参数指定的元素数。  大白话就是手动扩容
#9.forEach(Consumer<? super E> action)  无返回值
增强for循环
#10.get(int index)  返回对应集合的类型
返回集合中指定位置的元素
list.get(2)   --->20
#11.indexOf(Object o)  返回值为int
返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 
list.indexOf(10)   --->1
#12.isEmpty()   返回值为boolean
判断集合是否为空
list.isEmpty()   --->false
#13.iterator() 返回Iterator<E>
以正确的顺序返回该列表中的元素的迭代器。
#14.lastIndexOf(Object o)  返回值为int
返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。 
list.lastIndexOf(30)  --->-1
#15.listIterator()  返回值ListIterator<E>
返回列表中的列表迭代器(按适当的顺序)跟iteator用法差不多
#16.listIterator(int index)  返回值ListIterator<E>
从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。
#17.remove(int index)   返回E
删除该列表中指定位置的元素。
list.remove(2)  ---->20
#18.remove(Object o) 返回值为boolean
删除集合中的指定的元素
#19.removeAll(Collection<?> c) 返回值为boolean
从此列表中删除指定集合中包含的所有元素。只要是被删除的集合中包含删除集合中的数据,那么该数据都会被删除
例子:Arraylist nums=new ArrayList();
nums.add(3);nums.add(10);  nums--->[3,10]
nums.removeAll(list)   --->true    nums--->[3]
#20.removeIf(Predicate<? super E> filter)  返回值boolean
该方法将会批量删除符合filter条件的所有元素,该方法需要一个Predicate对象作为参数,Predicate也是函数式接口,因此可以使用Lambda表达式。
例子:Arraylist nums=new ArrayList();
nums.add(3);nums.add(10);  nums--->[3,10]
nums.removeIf(Integer -> integer%2==0) -->true  nums-->3
#21.removeRange(int fromIndex, int toIndex)  无返回值
从这个列表中删除所有索引在 fromIndex (含)和 toIndex之间的元素。
例子:protected void removeRange(int fromIndex,int toIndex){}
#22.replaceAll(UnaryOperator<E> operator) 无返回值
将该列表的每个元素替换为将该运算符应用于该元素的结果。
例子:list.replaceAll(integer->integer*3)  --->[3.30,60]
#23.retainAll(Collection<?> c)   返回boolean
仅保留此列表中包含在指定集合中的元素。也可以理解为删除list集合中与传来的集合不一样的元素。 
例子:ArrayList<Integer>nums=new ArrayList();
nums.add(10);   list.retainAll(list2)  --->true  list--->10
#24.set(int index, E element)   返回E
用指定的元素替换此列表中指定位置的元素。
例子:list.set(1,80)   --->[1,80,20]
#25.size()   返回值Int
返回此列表中的元素数。
例子:list.size()  --->3
#26.sort(Comparator<? super E> c)   无返回值
使用提供的 Comparator对此列表进行排序以比较元素。 
例子:list.sort(null)  --->[1,20,30]  默认升序排列
#27.subList(int fromIndex, int toIndex)  返回集合
返回此列表中指定的 fromIndex (包括)和 toIndex之间的独占视图。 
例子:list.subList(1,2)  --->10     包前不包后
#28.toArray()    返回Object[]
集合转为数组
#29.toArray(T[] a)   返回 <T> T[]
会返回指定类型(必须为list元素类型的父类或本身)的数组对象
#30.trimToSize()  无返回值
trimToSize的作用只是去掉预留元素位置,节约空间,在内存资源紧张时使用。修改这个 ArrayList实例的容量是列表的当前大小。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值