Java : ArrayList 示例
Java 中的 ArrayList (Java SE 23 & JDK 23) 及其示例。
您将找到大多数 ArrayList<E> 方法的代码示例。
注解 :
- 本文可能使用了翻译软件以方便阅读。 另请查看英文原文。
简介
List 接口的可调整大小数组实现。实现所有可选的列表操作,并允许所有元素(包括 null)。除了实现 List 接口之外,此类还提供方法来操作用于内部存储列表的数组的大小。 (机器翻译)
final var list = new ArrayList<String>();
System.out.println(list); // []
list.add("aaa");
list.add("bbb");
list.add("ccc");
System.out.println(list); // [aaa, bbb, ccc]
System.out.println(list.get(0)); // aaa
System.out.println(list.get(1)); // bbb
System.out.println(list.get(2)); // ccc
Fields declared in AbstractList
Constructors
ArrayList ()
构造一个初始容量为十的空列表。 (机器翻译)
final var list = new ArrayList<String>();
System.out.println(list); // []
list.add("aaa");
list.add("bbb");
list.add("ccc");
System.out.println(list); // [aaa, bbb, ccc]
ArrayList (int initialCapacity)
构造具有指定初始容量的空列表。 (机器翻译)
final var list = new ArrayList<Integer>(10000000);
System.out.println(list); // []
final var startTime = System.nanoTime();
for (int i = 0; i < 10000000; i++) {
list.add(i);
}
final var endTime = System.nanoTime();
// 0.084715 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);
final var list = new ArrayList<Integer>(1);
System.out.println(list); // []
final var startTime = System.nanoTime();
for (int i = 0; i < 10000000; i++) {
list.add(i);
}
final var endTime = System.nanoTime();
// 0.160947 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);
ArrayList (Collection<? extends E> c)
构造一个包含指定集合的元素的列表,按照集合迭代器返回的顺序排列它们。 (机器翻译)
final var c = List.of("aaa", "bbb", "ccc");
System.out.println(c); // [aaa, bbb, ccc]
final var list = new ArrayList<>(c);
System.out.println(list); // [aaa, bbb, ccc]
Methods
void add (int index, E element)
将指定元素插入此列表的指定位置。 (机器翻译)
final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
list.add(0, "A");
System.out.println(list); // [A, a, b, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
list.add(1, "B");
System.out.println(list); // [a, B, b, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
list.add(2, "C");
System.out.println(list); // [a, b, C, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
list.add(3, "D");
System.out.println(list); // [a, b, c, D]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
//list.add(4, "D"); // IndexOutOfBoundsException
}
boolean add (E e)
将指定元素附加到此列表的末尾。 (机器翻译)
final var list = new ArrayList<String>();
System.out.println(list); // []
System.out.println(list.add("a")); // true
System.out.println(list); // [a]
System.out.println(list.add("b")); // true
System.out.println(list); // [a, b]
System.out.println(list.add("c")); // true
System.out.println(list); // [a, b, c]
boolean addAll (int index, Collection<? extends E> c)
从指定位置开始将指定集合中的所有元素插入此列表。 (机器翻译)
final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.addAll(0, List.of("A1", "A2"))); // true
System.out.println(list); // [A1, A2, a, b, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.addAll(1, List.of("B1", "B2", "B3"))); // true
System.out.println(list); // [a, B1, B2, B3, b, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.addAll(2, List.of("C1", "C2", "C3", "C4"))); // true
System.out.println(list); // [a, b, C1, C2, C3, C4, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.addAll(3, List.of())); // false
System.out.println(list); // [a, b, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
//list.addAll(4, List.of("E")); // IndexOutOfBoundsException
}
final var src = List.of("a", "b", "c");
System.out.println(src);// [a, b, c]
final var list = new ArrayList<>(src);
System.out.println(list.addAll(3, Set.of("D1", "D2", "D3"))); // true
System.out.println(list); // [a, b, c, D3, D2, D1]
boolean addAll (Collection<? extends E> c)
将指定集合中的所有元素附加到此列表的末尾,按照指定集合的迭代器返回的顺序。 (机器翻译)
final var list = new ArrayList<String>();
System.out.println(list.addAll(List.of("a1"))); // true
System.out.println(list); // [a1]
System.out.println(list.addAll(List.of("b1", "b2"))); // true
System.out.println(list); // [a1, b1, b2]
System.out.println(list.addAll(List.of("c1", "c2", "c3"))); // true
System.out.println(list); // [a1, b1, b2, c1, c2, c3]
System.out.println(list.addAll(List.of())); // false
System.out.println(list); // [a1, b1, b2, c1, c2, c3]
final var list = new ArrayList<String>();
System.out.println(list); // []
System.out.println(list.addAll(Set.of("c1", "c2", "c3"))); // true
System.out.println(list); // [c3, c2, c1]
void addFirst (E element)
添加一个元素作为此集合的第一个元素(可选操作)。 (机器翻译)
final var list = new ArrayList<String>();
list.addFirst("aaa");
System.out.println(list); // [aaa]
list.addFirst("bbb");
System.out.println(list); // [bbb, aaa]
list.addFirst("ccc");
System.out.println(list); // [ccc, bbb, aaa]
void addLast (E element)
添加一个元素作为此集合的最后一个元素(可选操作)。 (机器翻译)
final var list = new ArrayList<String>();
list.addLast("aaa");
System.out.println(list); // [aaa]
list.addLast("bbb");
System.out.println(list); // [aaa, bbb]
list.addLast("ccc");
System.out.println(list); // [aaa, bbb, ccc]
void clear ()
从此列表中删除所有元素。 (机器翻译)
final var list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
System.out.println(list); // [a, b, c]
list.clear();
System.out.println(list); // []
Object clone ()
返回此 ArrayList 实例的浅表副本。 (机器翻译)
final var list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
System.out.println(list); // [a, b, c]
final var cloned = list.clone();
System.out.println(cloned); // [a, b, c]
System.out.println(cloned.getClass()); // class java.util.ArrayList
boolean contains (Object o)
如果此列表包含指定元素,则返回 true。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]
System.out.println(list.contains("")); // false
System.out.println(list.contains("a")); // true
System.out.println(list.contains("b")); // true
System.out.println(list.contains("c")); // true
System.out.println(list.contains("abc")); // false
void ensureCapacity (int minCapacity)
如有必要,增加此 ArrayList 实例的容量,以确保它至少可以容纳最小容量参数指定数量的元素。 (机器翻译)
final var list = new ArrayList<Integer>();
list.ensureCapacity(10000000);
System.out.println(list); // []
final var startTime = System.nanoTime();
for (int i = 0; i < 10000000; i++) {
list.add(i);
}
final var endTime = System.nanoTime();
// 0.085877 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);
final var list = new ArrayList<Integer>();
System.out.println(list); // []
final var startTime = System.nanoTime();
for (int i = 0; i < 10000000; i++) {
list.add(i);
}
final var endTime = System.nanoTime();
// 0.174232 sec.
System.out.printf("%f sec.%n", (endTime - startTime) / 1000000000.0);
boolean equals (Object o)
将指定对象与此列表进行比较以确定其是否相等。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]
System.out.println(list.equals(List.of("a"))); // false
System.out.println(list.equals(List.of("a", "b"))); // false
System.out.println(list.equals(List.of("a", "b", "c"))); // true
System.out.println(list.equals(List.of("c", "b", "a"))); // false
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]
final var arrayList = new ArrayList<>(list);
System.out.println(arrayList); // [a, b, c]
System.out.println(list.equals(arrayList)); // true
final var linkedList = new LinkedList<>(list);
System.out.println(linkedList); // [a, b, c]
System.out.println(list.equals(linkedList)); // true
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]
final var set = new LinkedHashSet<>();
set.add("a");
set.add("b");
set.add("c");
System.out.println(set); // [a, b, c]
System.out.println(list.equals(set)); // false
void forEach (Consumer<? super E> action)
对 Iterable 的每个元素执行给定的操作,直到所有元素都已处理或该操作引发异常。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]
System.out.println("-- forEach --");
list.forEach(element -> {
System.out.println(element);
});
// Result
// ↓
//-- forEach --
//aaa
//bbb
//ccc
E get (int index)
返回此列表中指定位置的元素。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]
//list.get(-1); // IndexOutOfBoundsException
System.out.println(list.get(0)); // a
System.out.println(list.get(1)); // b
System.out.println(list.get(2)); // c
//list.get(3); // IndexOutOfBoundsException
final var list = new ArrayList<Integer>();
Collections.addAll(list, 10, 20, 30, 40);
System.out.println(list); // [10, 20, 30, 40]
System.out.println(list.get(0)); // 10
System.out.println(list.get(1)); // 20
System.out.println(list.get(2)); // 30
System.out.println(list.get(3)); // 40
E getFirst ()
获取此集合的第一个元素。 (机器翻译)
final var list = new ArrayList<String>();
list.addLast("aaa");
System.out.println(list); // [aaa]
System.out.println(list.getFirst()); // aaa
list.addLast("bbb");
System.out.println(list); // [aaa, bbb]
System.out.println(list.getFirst()); // aaa
list.addLast("ccc");
System.out.println(list); // [aaa, bbb, ccc]
System.out.println(list.getFirst()); // aaa
final var list = new ArrayList<String>();
System.out.println(list); // []
try {
final var ret = list.getFirst();
} catch (NoSuchElementException e) {
System.out.println("NoSuchElementException!");
}
// Result
// ↓
//NoSuchElementException!
E getLast ()
获取此集合的最后一个元素。 (机器翻译)
final var list = new ArrayList<String>();
list.addLast("aaa");
System.out.println(list); // [aaa]
System.out.println(list.getLast()); // aaa
list.addLast("bbb");
System.out.println(list); // [aaa, bbb]
System.out.println(list.getLast()); // bbb
list.addLast("ccc");
System.out.println(list); // [aaa, bbb, ccc]
System.out.println(list.getLast()); // ccc
final var list = new ArrayList<String>();
System.out.println(list); // []
try {
final var ret = list.getLast();
} catch (NoSuchElementException e) {
System.out.println("NoSuchElementException!");
}
// Result
// ↓
//NoSuchElementException!
int hashCode ()
返回此列表的哈希码值。 (机器翻译)
final var list1 = new ArrayList<String>();
Collections.addAll(list1, "a", "b", "c");
System.out.println(list1.hashCode()); // 126145
final var list2 = new ArrayList<String>();
Collections.addAll(list2, "A", "B", "C");
System.out.println(list2.hashCode()); // 94369
final var list3 = new ArrayList<Integer>();
Collections.addAll(list3, 1, 2, 3);
System.out.println(list3.hashCode()); // 30817
int indexOf (Object o)
返回此列表中第一次出现的指定元素的索引,如果此列表不包含该元素,则返回 -1。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c", "a", "b", "c");
System.out.println(list); // [a, b, c, a, b, c]
System.out.println(list.indexOf("")); // -1
System.out.println(list.indexOf("a")); // 0
System.out.println(list.indexOf("b")); // 1
System.out.println(list.indexOf("c")); // 2
System.out.println(list.indexOf("d")); // -1
System.out.println(list.indexOf("abc")); // -1
boolean isEmpty ()
如果此列表不包含任何元素,则返回 true。 (机器翻译)
final var list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
System.out.println(list); // [a, b, c]
System.out.println(list.isEmpty()); // false
list.clear();
System.out.println(list); // []
System.out.println(list.isEmpty()); // true
Iterator<E> iterator ()
按正确顺序返回此列表中元素的迭代器。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]
final var iterator = list.iterator();
iterator.forEachRemaining(System.out::println);
// Result
// ↓
//aaa
//bbb
//ccc
int lastIndexOf (Object o)
返回此列表中指定元素最后一次出现的索引,如果此列表不包含该元素,则返回 -1。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c", "a", "b", "c");
System.out.println(list); // [a, b, c, a, b, c]
System.out.println(list.lastIndexOf("")); // -1
System.out.println(list.lastIndexOf("a")); // 3
System.out.println(list.lastIndexOf("b")); // 4
System.out.println(list.lastIndexOf("c")); // 5
System.out.println(list.lastIndexOf("d")); // -1
System.out.println(list.lastIndexOf("abc")); // -1
ListIterator<E> listIterator ()
返回此列表中元素的列表迭代器(按正确的顺序)。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]
final var listIterator = list.listIterator();
listIterator.forEachRemaining(System.out::println);
// Result
// ↓
//aaa
//bbb
//ccc
ListIterator<E> listIterator (int index)
返回此列表中元素的列表迭代器(按正确顺序),从列表中的指定位置开始。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]
{
final var ret = list.listIterator(0);
ret.forEachRemaining(System.out::println);
// Result
// ↓
//aaa
//bbb
//ccc
}
{
final var ret = list.listIterator(1);
ret.forEachRemaining(System.out::println);
// Result
// ↓
//bbb
//ccc
}
{
final var ret = list.listIterator(2);
ret.forEachRemaining(System.out::println);
// Result
// ↓
//ccc
}
E remove (int index)
删除此列表中指定位置的元素。 (机器翻译)
final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.remove(0)); // a
System.out.println(list); // [b, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.remove(1)); // b
System.out.println(list); // [a, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.remove(2)); // c
System.out.println(list); // [a, b]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
//list.remove(3); // IndexOutOfBoundsException
}
boolean remove (Object o)
如果存在,则从此列表中删除指定元素的第一次出现。 (机器翻译)
final var src = List.of("a", "b", "a", "b", "A", "B");
System.out.println(src); // [a, b, a, b, A, B]
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.remove("")); // false
System.out.println(list); // [a, b, a, b, A, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.remove("a")); // true
System.out.println(list); // [b, a, b, A, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.remove("b")); // true
System.out.println(list); // [a, a, b, A, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.remove("A")); // true
System.out.println(list); // [a, b, a, b, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.remove("B")); // true
System.out.println(list); // [a, b, a, b, A]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.remove("C")); // false
System.out.println(list); // [a, b, a, b, A, B]
}
boolean removeAll (Collection<?> c)
从此列表中删除指定集合中包含的所有元素。 (机器翻译)
final var src = List.of("a", "b", "a", "b", "A", "B");
System.out.println(src); // [a, b, a, b, A, B]
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.removeAll(List.<String>of())); // false
System.out.println(list); // [a, b, a, b, A, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.removeAll(List.of("a"))); // true
System.out.println(list); // [b, b, A, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.removeAll(List.of("a", "b"))); // true
System.out.println(list); // [A, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.removeAll(List.of("b", "a"))); // true
System.out.println(list); // [A, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.removeAll(List.of("A"))); // true
System.out.println(list); // [a, b, a, b, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.removeAll(List.of("X", "Y", "Z"))); // false
System.out.println(list); // [a, b, a, b, A, B]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.removeAll(List.of("A", "X", "Y", "Z"))); // true
System.out.println(list); // [a, b, a, b, B]
}
E removeFirst ()
删除并返回此集合的第一个元素(可选操作)。 (机器翻译)
final var list = new ArrayList<String>();
list.addLast("aaa");
list.addLast("bbb");
list.addLast("ccc");
System.out.println(list); // [aaa, bbb, ccc]
System.out.println(list.removeFirst()); // aaa
System.out.println(list); // [bbb, ccc]
System.out.println(list.removeFirst()); // bbb
System.out.println(list); // [ccc]
System.out.println(list.removeFirst()); // ccc
System.out.println(list); // []
final var list = new ArrayList<String>();
System.out.println(list); // []
try {
final var ret = list.removeFirst();
} catch (NoSuchElementException e) {
System.out.println("NoSuchElementException!");
}
// Result
// ↓
//NoSuchElementException!
boolean removeIf (Predicate<? super E> filter)
删除此集合中满足给定谓词的所有元素(可选操作)。 (机器翻译)
final var list = new ArrayList<String>();
list.add("aaa");
list.add("BBB");
list.add("ccc");
list.add("DDD");
System.out.println(list); // [aaa, BBB, ccc, DDD]
final var ret = list.removeIf(s -> {
return s.equals(s.toUpperCase());
});
System.out.println(ret); // true
System.out.println(list); // [aaa, ccc]
final var list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
System.out.println(list); // [aaa, bbb]
final var ret = list.removeIf(s -> s.equals(s.toUpperCase()));
System.out.println(ret); // false
System.out.println(list); // [aaa, bbb]
E removeLast ()
删除并返回此集合的最后一个元素(可选操作)。 (机器翻译)
final var list = new ArrayList<String>();
list.addLast("aaa");
list.addLast("bbb");
list.addLast("ccc");
System.out.println(list); // [aaa, bbb, ccc]
System.out.println(list.removeLast()); // ccc
System.out.println(list); // [aaa, bbb]
System.out.println(list.removeLast()); // bbb
System.out.println(list); // [aaa]
System.out.println(list.removeLast()); // aaa
System.out.println(list); // []
final var list = new ArrayList<String>();
System.out.println(list); // []
try {
final var ret = list.removeLast();
} catch (NoSuchElementException e) {
System.out.println("NoSuchElementException!");
}
// Result
// ↓
//NoSuchElementException!
protected void removeRange (int fromIndex, int toIndex)
从此列表中删除索引位于 fromIndex(包括)和 toIndex(不包括)之间的所有元素。 (机器翻译)
@SuppressWarnings("serial")
class MyList extends ArrayList<String> {
MyList(Collection<String> c) {
super(c);
}
@Override
public void removeRange(int fromIndex, int toIndex) {
super.removeRange(fromIndex, toIndex);
}
}
final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]
{
final var list = new MyList(src);
System.out.println(list); // [a, b, c]
list.removeRange(0, 1);
System.out.println(list); // [b, c]
}
{
final var list = new MyList(src);
System.out.println(list); // [a, b, c]
list.removeRange(0, 2);
System.out.println(list); // [c]
}
{
final var list = new MyList(src);
System.out.println(list); // [a, b, c]
list.removeRange(0, 3);
System.out.println(list); // []
}
{
final var list = new MyList(src);
System.out.println(list); // [a, b, c]
list.removeRange(1, 3);
System.out.println(list); // [a]
}
{
final var list = new MyList(src);
System.out.println(list); // [a, b, c]
list.removeRange(2, 3);
System.out.println(list); // [a, b]
}
{
final var list = new MyList(src);
System.out.println(list); // [a, b, c]
list.removeRange(3, 3);
System.out.println(list); // [a, b, c]
}
boolean retainAll (Collection<?> c)
仅保留此列表中包含在指定集合中的元素。 (机器翻译)
final var src = List.of("a", "b", "a", "b", "A", "B");
System.out.println(src); // [a, b, a, b, A, B]
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.retainAll(List.<String>of())); // true
System.out.println(list); // []
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.retainAll(List.of("a", "b"))); // true
System.out.println(list); // [a, b, a, b]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.retainAll(List.of("b", "a"))); // true
System.out.println(list); // [a, b, a, b]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.retainAll(List.of("A"))); // true
System.out.println(list); // [A]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.retainAll(List.of("X", "Y", "Z"))); // true
System.out.println(list); // []
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.retainAll(List.of("A", "X", "Y", "Z"))); // true
System.out.println(list); // [A]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, a, b, A, B]
System.out.println(list.retainAll(List.of("a", "b", "A", "B"))); // false
System.out.println(list); // [a, b, a, b, A, B]
}
E set (int index, E element)
用指定元素替换此列表中指定位置的元素。 (机器翻译)
final var src = List.of("a", "b", "c");
System.out.println(src); // [a, b, c]
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.set(0, "A")); // a
System.out.println(list); // [A, b, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.set(1, "B")); // b
System.out.println(list); // [a, B, c]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
System.out.println(list.set(2, "C")); // c
System.out.println(list); // [a, b, C]
}
{
final var list = new ArrayList<>(src);
System.out.println(list); // [a, b, c]
//list.set(3, "D"); // IndexOutOfBoundsException
}
int size ()
返回此列表中元素的数量。 (机器翻译)
final var list = new ArrayList<String>();
System.out.println(list); // []
System.out.println(list.size()); // 0
list.add("a");
System.out.println(list); // [a]
System.out.println(list.size()); // 1
list.add("b");
list.add("c");
list.add("d");
System.out.println(list); // [a, b, c, d]
System.out.println(list.size()); // 4
Spliterator<E> spliterator ()
针对此列表中的元素创建一个后期绑定和快速失败的 Spliterator。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]
final var spliterator = list.spliterator();
spliterator.forEachRemaining(System.out::println);
// Result
// ↓
//aaa
//bbb
//ccc
List<E> subList (int fromIndex, int toIndex)
返回此列表在指定的 fromIndex(包括)和 toIndex(不包括)之间的部分的视图。 (机器翻译)
final var list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
System.out.println(list); // [a, b, c, d]
System.out.println(list.subList(0, 0)); // []
System.out.println(list.subList(0, 1)); // [a]
System.out.println(list.subList(0, 2)); // [a, b]
System.out.println(list.subList(0, 3)); // [a, b, c]
System.out.println(list.subList(0, 4)); // [a, b, c, d]
//list.subList(0, 5); // IndexOutOfBoundsException
final var subList = list.subList(1, 3);
System.out.println(subList); // [b, c]
System.out.println(list); // [a, b, c, d]
subList.set(0, "X");
System.out.println(subList); // [X, c]
System.out.println(list); // [a, X, c, d]
subList.add("Y");
System.out.println(subList); // [X, c, Y]
System.out.println(list); // [a, X, c, Y, d]
subList.remove("c");
System.out.println(subList); // [X, Y]
System.out.println(list); // [a, X, Y, d]
Object[] toArray ()
返回一个按正确顺序包含此列表中所有元素的数组(从第一个元素到最后一个元素)。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]
final Object[] array = list.toArray();
System.out.println(Arrays.toString(array)); // [a, b, c]
<T> T[] toArray (T[] a)
返回一个按正确顺序(从第一个元素到最后一个元素)包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的类型。 (机器翻译)
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]
final String[] array = list.toArray(new String[0]);
System.out.println(Arrays.toString(array)); // [a, b, c]
final var list = new ArrayList<String>();
Collections.addAll(list, "a", "b", "c");
System.out.println(list); // [a, b, c]
{
final String[] array = new String[3];
System.out.println(Arrays.toString(array)); // [null, null, null]
final var ret = list.toArray(array);
System.out.println(Arrays.toString(array)); // [a, b, c]
System.out.println(Arrays.toString(ret)); // [a, b, c]
}
{
final String[] array = new String[5];
System.out.println(Arrays.toString(array)); // [null, null, null, null, null]
final var ret = list.toArray(array);
System.out.println(Arrays.toString(array)); // [a, b, c, null, null]
System.out.println(Arrays.toString(ret)); // [a, b, c, null, null]
}
{
final String[] array = new String[1];
System.out.println(Arrays.toString(array)); // [null]
final var ret = list.toArray(array);
System.out.println(Arrays.toString(array)); // [null]
System.out.println(Arrays.toString(ret)); // [a, b, c]
}
void trimToSize ()
将此 ArrayList 实例的容量修剪为列表的当前大小。 (机器翻译)
final var list = new ArrayList<String>(10000000);
Collections.addAll(list, "aaa", "bbb", "ccc");
System.out.println(list); // [aaa, bbb, ccc]
final var runtime = Runtime.getRuntime();
runtime.gc();
final var before = runtime.totalMemory() - runtime.freeMemory();
System.out.println(before); // 45640832
list.trimToSize();
runtime.gc();
final var after = runtime.totalMemory() - runtime.freeMemory();
System.out.println(after); // 4742320
final var diff = before - after;
System.out.println(diff); // 40898512
Methods declared in AbstractList
Methods declared in AbstractCollection
Methods declared in Collection
Methods declared in List
相关文章
- API 示例