ArrayList方法
ArrayList特点: 有序、有下标、值可以重复
add
boolean add(E e)
将指定的元素追加到此列表的末尾(可选操作)。
参数
e - 要附加到此列表的元素
arrayList.add("张三");
arrayList.add(10);
arrayList.add(3.14);
void add(int index,E element)
将指定的元素插入此列表中的指定位置(可选操作)。 将当前位于该位置的元素(如果有)和任何后续元素(向其索引添加一个)移动。
参数
index - 要插入指定元素的索引
element - 要插入的元素
addAll
boolean addAll(Collection<? extends E> c)
按指定集合的迭代器(可选操作)返回的顺序将指定集合中的所有元素附加到此列表的末尾。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。 (注意,如果指定的集合是此列表,并且它是非空的,则会发生这种情况。)
参数
c - 包含要添加到此列表的元素的集合
boolean addAll(int index,Collection<? extends E> c)
将指定集合中的所有元素插入到此列表中的指定位置(可选操作)。 将当前位于该位置(如果有的话)的元素和随后的任何元素移动到右边(增加其索引)。 新元素将按照指定集合的迭代器返回的顺序显示在此列表中。 如果在操作进行中修改了指定的集合,则此操作的行为是未定义的。 (注意,如果指定的集合是此列表,并且它是非空的,则会发生这种情况。)
参数
index - 从指定集合插入第一个元素的索引
c - 包含要添加到此列表的元素的集合
clear
void clear()
从此列表中删除所有元素(可选操作)。 此呼叫返回后,列表将为空。
contains
boolean contains(Object o)
如果此列表包含指定的元素,则返回true 。 更正式地,返回true当且仅当该列表至少包含一个元素e使得(o = =null ? e==null : o.equals(e)) 。
参数
o - 要在此列表中存在的元素将被测试
containsAll
boolean containsAll(Collection<?> c)
如果此列表包含指定 集合的所有元素,则返回true。
参数
c - 要在此列表中检查遏制的集合
equals
boolean equals(Object o)
将指定的对象与此列表进行比较以获得相等性。 返回true当且仅当指定的对象也是列表时,两个列表都具有相同的大小,并且两个列表中所有相应的元素对相等 。
参数
o - 要与此列表相等的对象进行比较
get
E get(int index)
返回此列表中指定位置的元素。
参数
index - 要返回的元素的索引
hashCode
int hashCode()
返回此列表的哈希码值。 列表的哈希码被定义为以下计算的结果:
int hashCode = 1; for (E e : list) hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
这确保list1.equals(list2)意味着list1.hashCode()==list2.hashCode()对于任何两个列表, list1和list2 ,根据Object.hashCode()的一般合同的要求 。
indexOf
int indexOf(Object o)
返回此列表中指定元素的第一次出现的索引,如果此列表不包含元素,则返回-1。 更正式地,返回最低指数i ,使(o==null ? get(i)==null : o.equals(get(i))) ,或-1如果没有这样的指数。
参数
o - 要搜索的元素
isEmpty
boolean isEmpty()
如果此列表不包含元素,则返回 true 。
iterator
Iterator<E> iterator()
以正确的顺序返回该列表中的元素的迭代器。
lastIndexOf
int lastIndexOf(Object o)
返回此列表中指定元素的最后一次出现的索引,如果此列表不包含元素,则返回-1。 更正式地,返回最高指数i使得(o==null ? get(i)==null : o.equals(get(i))) ,或-1如果没有这样的索引。
参数
o - 要搜索的元素
listIterator
ListIterator<E> listIterator()
返回列表中的列表迭代器(按适当的顺序)。
ListIterator<E> listIterator(int index)
从列表中的指定位置开始,返回列表中的元素(按正确顺序)的列表迭代器。 指定的索引表示初始调用将返回的第一个元素为next 。 初始调用previous将返回指定索引减1的元素。
参数
index - 要从列表迭代器返回的第一个元素的索引(通过调用 next )
remove
E remove(int index)
删除该列表中指定位置的元素(可选操作)。 将任何后续元素移动到左侧(从其索引中减去一个元素)。 返回从列表中删除的元素。
参数
index - 要删除的元素的索引
boolean remove(Object o)
从列表中删除指定元素的第一个出现(如果存在)(可选操作)。 如果此列表不包含该元素,则它将保持不变。 更正式地,删除具有最低索引i的元素,使得(o==null ? get(i)==null : o.equals(get(i))) (如果这样的元素存在)。 如果此列表包含指定的元素(或等效地,如果此列表作为调用的结果而更改),则返回true 。
参数
o - 要从此列表中删除的元素(如果存在)
removeAll
boolean removeAll(Collection<?> c)
从此列表中删除包含在指定集合中的所有元素(可选操作)。
参数
c - 包含要从此列表中删除的元素的集合
replaceAll
default void replaceAll(UnaryOperator<E> operator)
将该列表的每个元素替换为将该运算符应用于该元素的结果。 运营商抛出的错误或运行时异常被转发给呼叫者。
参数
operator - 操作员应用于每个元素
retainAll
boolean retainAll(Collection<?> c)
仅保留此列表中包含在指定集合中的元素(可选操作)。 换句话说,从此列表中删除其中不包含在指定集合中的所有元素。
参数
c - 包含要保留在此列表中的元素的集合
set
E set(int index,E element)
用指定的元素(可选操作)替换此列表中指定位置的元素。
参数
index - 要替换的元素的索引
element - 要存储在指定位置的元素
size
int length = arrayList.size();
获取数组长度。
System.out.println("------------获取值得第一种方法-----------------");
//get(index) 获取指定下标的值
for(int i=0;i<length;i++) {
System.out.print(arrayList.get(i)+" ");
}
System.out.println("------------获取值得第二种方法-----------------");
//foreach--增强版的for循环
for (Object o : arrayList) {
System.out.print(o+" ");
}
System.out.println("------------获取值得第三种方法-----------------");
//获取一个迭代器
Iterator iterator = arrayList.iterator();
//.hasNext() 判断迭代器每一个后面还有没有值,如果没有值结束循环
while(iterator.hasNext()) {
//.next() 获取下一个值
System.out.print(iterator.next()+" ");
}
sort
default void sort(Comparator<? super E> c)
使用附带的 Comparator排序此列表来比较元素。
实现要求:
默认实现相当于,对于这个list :
Collections.sort(list, c)
参数
c - 用于比较列表元素的Comparator 。 null值表示应使用元素’ natural ordering ’
spliterator
default Spliterator<E> spliterator()
在此列表中的元素上创建一个Spliterator 。
Spliterator报告Spliterator.SIZED和Spliterator.ORDERED 。 实施应记录其他特征值的报告。
subList
List<E> subList(int fromIndex,int toIndex)
返回列表中指定的fromIndex (含)和toIndex之间的部分视图。 (如果fromIndex和toIndex相等,返回的列表为空。)返回的列表由此列表支持,因此返回列表中的非结构性更改将反映在此列表中,反之亦然。 返回的列表支持此列表支持的所有可选列表操作。
参数
fromIndex - fromIndex低端点(含)
toIndex - toIndex高端点(排他)
toArray
Object[] toArray()
以正确的顺序(从第一个到最后一个元素)返回一个包含此列表中所有元素的数组。
返回的数组将是“安全的”,因为该列表不保留对它的引用。 (换句话说,即使这个列表被数组支持,这个方法也必须分配一个新的数组)。 因此,调用者可以自由地修改返回的数组。
此方法充当基于阵列和基于集合的API之间的桥梁。
<T> T[] toArray(T[] a)
以正确的顺序返回一个包含此列表中所有元素的数组(从第一个到最后一个元素); 返回的数组的运行时类型是指定数组的运行时类型。 如果列表适合指定的数组,则返回其中。 否则,将为指定数组的运行时类型和此列表的大小分配一个新数组。
参数类型
T - 包含集合的数组的运行时类型
参数
a - 要存储此列表的元素的数组,如果它足够大; 否则,为此目的分配相同运行时类型的新数组。