数组列表
与普通数组不同, java.util 包中的 ArrayList 是一个自动展开的数组。指定它的维度。例如,
ArrayList list = new ArrayList();
优点 ArrayList 与常规数组相比:
- 在常数时间内通过索引快速访问元素
O(1) ;
- 在线性时间内按值访问元素
O(n) ;
- 允许您存储任何值,包括
null 。
弱点 ArrayList :
插入/删除元素 导致覆盖所有放置在“右边”的元素在列表中向左移动一位,即线性工作时间 O(n) ;
请记住,列表只能包含对象,因此如果您想存储数字,请使用 Integer 而不是 int 。 Integer 是一个类名,这个类的一个对象可以包含一个整数值。您可以在此处阅读有关类和对象的更多信息:面向对象编程简介。
|
将元素添加到 ArrayList 有两种选择:
add(value); - 在 ArrayList 的末尾添加一个值
add(index, value); - 通过索引向正确的位置添加一个值。
例如:
arr.添加(10);跨度>
arr.添加(5,10);
|
要从 ArrayList 中获取元素的值,请使用 get(index) 方法
例如:
要找出数组中元素的数量,可以使用 size() 方法
例如:
|
要按列表中的索引更改值,请使用 name.set(index,value);
|
将元素添加到 ArrayList 有两种选择:
add(value); - 在 ArrayList 的末尾添加一个值
add(index, value); - 通过索引向正确的位置添加一个值。
例如:
arr.添加(10);跨度>
arr.添加(5,10);
|
您可以使用 remove 方法以两种方式删除 ArrayList 中的元素:
例如:
arr.移除(0); span> //删除第一个元素
arr.移除(< strong>new Integer(10)); //删除值为 10 的元素
|
反向数组列表
Collections 接口还提供了对整个集合进行批量操作的方法:
containsAll - 如果此集合包含调用集合中的所有元素,则返回布尔值 true ,否则返回 false 。
addAll - 将所有指定的元素添加到指定的集合中。要添加的元素可以单独指定,也可以指定为数组。
removeAll - 用于从列表中移除指定集合中包含的所有元素。
clear - 删除所有元素
reverse - 数组反转
等等
例子
使用 removeAll 。
ArrayList<整数>; first = new ArrayList();
首先添加(1);
首先添加(2);
首先添加(3);
ArrayList<整数>; second = new ArrayList();
第二个。添加(1);
第二个。添加(2);
// 从第二个列表中删除所有元素,
// 如果它们存在于第一个列表中
second.removeAll(第一);
|