ArrayList
ArrayList API
Modifier and Type | Method | Description |
---|
boolean | add(E e) | 将指定元素添加到此列表的队尾 |
void | add(int index, E element) | 将指定元素添加到此列表的指定位置。 |
boolean | addAll(Collection<? extends E> c) | 以Iterator返回指定集合的元素并一次追加到此列表的末尾。 |
boolean | addAll(int index, Collection<? extends E> c) | 以Iterator返回指定集合的元素并一次追加到此列表,从指定index位置开始。 |
void | clear() | 从列表中删除所有元素。 |
Object | clone() | 返回此ArrayList实例的浅拷贝对象。 |
boolean | contains(Object o) | 如果此列表包含指定的元素,则返回 true 。 |
void | ensureCapacity(int minCapacity) | 如果需要,增加此 ArrayList实例的容量,以确保它可以至少保存最小容量参数指定的元素数。 |
void | forEach(Consumer<? super E> action) | 对 Iterable的每个元素执行给定的操作,直到所有元素都被处理或因动作引发异常。 |
E | get(int index) | 返回此列表中指定位置的元素。 |
int | indexOf(Object o) | 返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 |
boolean | isEmpty() | 如果此列表不包含元素,则返回 true 。 |
Iterator | iterator() | 以正确的顺序返回该列表中的元素的迭代器。 |
int | lastIndexOf(Object o) | 返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。 |
ListIterator | listIterator() | 返回列表中的列表迭代器(按适当的顺序)。 |
ListIterator | listIterator(int index) | 从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。 |
E | remove(int index) | 删除该列表中指定位置的元素。 |
boolean | remove(Object o) | 从列表中删除指定元素的第一个出现(如果存在)。 |
boolean | removeAll(Collection<?> c) | 从此列表中删除指定集合中包含的所有元素。 |
boolean | removeIf(Predicate<? super E> filter) | 删除满足给定谓词的此集合的所有元素。 |
void | replaceAll(UnaryOperator operator) | 将该列表的每个元素替换为将该运算符应用于该元素的结果。 |
boolean | retainAll(Collection<?> c) | 仅保留此列表中包含在指定集合中的元素。 |
E | set(int index, E element) | 用指定的元素替换此列表中指定位置的元素。 |
int | size() | 返回此列表中的元素数。 |
void | sort(Comparator<? super E> c) | 使用提供的 Comparator对此列表进行排序以比较元素。 |
Spliterator | spliterator() | 在此列表中的元素上创建late-binding和故障快速 Spliterator 。 |
List | subList(int fromIndex, int toIndex) | 返回此列表中指定的 fromIndex (包括)和 toIndex之间的独占视图。 |
Object[] | toArray() | 以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。 |
T[] | toArray(T[] a) | 以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。 |
void | trimToSize() | 修改这个 ArrayList实例的容量是列表的当前大小。 |
sample code
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.ListIterator;
public class ArrayListDemo {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
ArrayList<String> list1 = new ArrayList<String>();
list1.add("A");
list1.add("B");
list1.add("C");
System.out.println(list1);
list1.add(0, "D");
System.out.println(list1);
ArrayList<String> list2 = new ArrayList<String>();
list2.add("E");
list2.add("F");
list2.add("G");
list1.addAll(list2);
System.out.println(list1);
ArrayList<String> list3 = new ArrayList<String>();
list3.add("H");
list3.add("I");
list3.add("J");
list1.addAll(1, list3);
System.out.println(list1);
list2.clear();
ArrayList<String> list4 = (ArrayList<String>)list1.clone();
System.out.println(list4);
System.out.println(list1.contains("A"));
list1.forEach(
x -> System.out.println(x)
);
System.out.println(list1.get(1));
list1.indexOf("B");
list1.lastIndexOf("B");
list1.isEmpty();
Iterator<String> it = list1.iterator();
while(it.hasNext()) {
it.next();
it.remove();
}
ListIterator<String> listIt = list1.listIterator();
while(listIt.hasNext()) {
System.out.println(listIt.next() + ", " + listIt.previousIndex() + ", " + listIt.nextIndex());
}
while(listIt.hasPrevious()) {
System.out.print(listIt.previous() + " ");
}
list1.remove(0);
list1.remove("A");
list1.removeAll(list2);
list1.removeIf(
x -> x.equals("A")
);
list1.replaceAll(
str -> {
if(str.equals("A")) {
return "a";
}else {
return "B";
}
}
);
list1.retainAll(list2);
list1.set(0, "B");
System.out.println(list1.size());
list1.ensureCapacity(100000);
Object[] objAry = list1.toArray();
String[] StrAry = new String[]{};
StrAry = list1.toArray(StrAry);
list1.trimToSize();
list1.sort(new SortByAge());
list1.spliterator();
}
}
@SuppressWarnings("rawtypes")
class SortByAge implements Comparator {
public int compare(Object o1, Object o2) {
Student s1 = (Student) o1;
Student s2 = (Student) o2;
if (s1.getAge() > s2.getAge())
return 1;
return -1;
}
}
class Student{
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}