ArrayList Review
ArrayList Review
ArrayList 是一个数组集合列表,是最常用的动态数组的实现,提供了许多方法,以便快速访问和遍历场景
Init(新建ArrayList集合)
1 | List<String> arrayList = new ArrayList<>(); |
Add(添加元素)
add (E) 添加指定元素
add (int, E) 指定位置添加指定元素1
2// 通过 add 方法增添新元素 这里使用了随机值转string 的方式
arrayList.add(String.valueOf((Math.random()*10)));这里的add方法有几个重载 (其实是对AbstractList的重写)
boolean add(E)
这个方法接受泛型参数,接受任意参数
void add(int, E)
这个方法接受一个整数 和 一个泛型参数,这个整数值可以用于在指定位置插入参数值
1
2// 在 第二个位置插入 ,其他位置往后挪一位
arrayList.add(1,String.valueOf((Math.random()*10)));
addAll (Collection<? extends E>) 添加指定集合
1
2
3// addAll方法,将指定集合添加到该集合的尾部
List<String> newString = Arrays.asList("123", "456");
arrayList.addAll(newString);同样,也可以使用重载的int参数指定添加位置
1
arrayList.addAll(2,newString);
Remove(删除元素)
remove(E) 从集合中删除指定元素
1
2// 删除指定元素
arrayList.remove("123");remove(int) 从集合指定位置删除元素
1
2// 从指定位置删除元素
arrayList.remove(1);removeAll(Collection<? extends E>) 从集合中删除指定集合中的所有元素
1
2
3// 从集合中删除指定集合中的所有元素
List<String> newString = Arrays.asList("123", "456");
arrayList.removeAll(newString);clear() 清空集合
1
arrayList.clear(); // 列表变为空数组[]
Get(获取元素)
get(int) 获取指定位置的元素
1
2// 获取指定位置的元素
E result = arrayList.get(1);
Set(修改元素)
set(int, E) 修改指定位置的元素为指定元素
1
2// 修改指定位置的元素为指定元素
arrayList.set(3,"3");
Index(查找元素)
indexOf(E) 返回指定元素第一次出现的位置,如果不存在,返回-1
1
int index = arrayList.indexOf("123"):
lastIndexOf(E) 返回指定元素最后一次出现的位置,如果不存在,返回-1
1
int index = arrayList.lastIndexOf("123"):
contains(E) 判断集合是否包含指定元素
1
boolean isContains = arrayList.contains("123"):
Other(其他方法)
size() 返回集合元素数量
1
arrayList.size();
isEmpty() 判断集合是否为空
1
arrayList.isEmpty();
toArray() 将列表转换成数组
1
arrayList.toArray(); // 返回结果是数组
subList(int, int) 返回指定范围 [n,m )左闭右开的子列表
1
arrayList.subList(2,9);
For (遍历列表)
使用for循环遍历
1
2
3for(int i = 0 ;i<arrayList.size(); i++){
System.out.println(arrayList.get(i));
}使用加强for循环
1
2
3for(E item : arrayList){
System.out.println(item);
}使用迭代器
1
2
3
4Iterator<E> iterator = arrayList.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}使用lambda表达式 forEach方法
1
arrayList.forEach(item->System.out.println(item));
Sort (排序)
sort(Collection<? super E>) 根据指定的比较器对集合进行排序
1
arrayList.sort(Comparator.naturalOrder()); // 自然排序
All(批量操作)
replaceAll(UnaryOperator< E >) 对集合的每个元素进行指定操作
1
arrayList.replaceAll(item->item.toUpperCase());
retainAll(Collection<?>) 仅保留列表中包含在内的指定列表中的元素
1
2List<String> newString = Arrays.asList("123", "456");
arrayList.retainAll(newString); // 仅保留arrayList中的newString列表的内容