Java ArrayList的构造方法和方法
Constructor | Description |
---|---|
ArrayList() |
Constructs an empty list with an initial capacity of ten.
|
ArrayList?(int initialCapacity) |
Constructs an empty list with the specified initial capacity.
|
ArrayList?(Collection<? extendsE> c) |
Constructs a list containing the elements of the specified collection, in the order they are returned by the collection‘s iterator.
|
Modifier and Type | Method | Description |
---|---|---|
void |
add?(int index,E element) |
Inserts the specified element at the specified position in this list.
|
boolean |
add?(E e) |
Appends the specified element to the end of this list.
|
boolean |
addAll?(int index,Collection<? extendsE> c) |
Inserts all of the elements in the specified collection into this list, starting at the specified position.
|
boolean |
addAll?(Collection<? extends E> c) |
Appends all of the elements in the specified collection to the end of this list, in the order that they are returned by the specified collection‘s Iterator.
|
void |
clear() |
Removes all of the elements from this list.
|
Object |
clone() |
Returns a shallow copy of this
ArrayList instance. |
boolean |
contains?(Object o) |
Returns
true if this list contains the specified element. |
void |
ensureCapacity?(int minCapacity) |
Increases the capacity of this
ArrayList instance, if necessary, to ensure that it can hold at least the number of elements specified by the minimum capacity argument. |
void |
forEach?(Consumer<? super E> action) |
Performs the given action for each element of the
Iterable until all elements have been processed or the action throws an exception. |
E |
get?(int index) |
Returns the element at the specified position in this list.
|
int |
indexOf?(Object o) |
Returns the index of the first occurrence of the specified element in this list, or -1 if this list does not contain the element.
|
boolean |
isEmpty() |
Returns
true if this list contains no elements. |
Iterator<E> |
iterator() |
Returns an iterator over the elements in this list in proper sequence.
|
int |
lastIndexOf?(Object o) |
Returns the index of the last occurrence of the specified element in this list, or -1 if this list does not contain the element.
|
ListIterator<E> |
listIterator() |
Returns a list iterator over the elements in this list (in proper sequence).
|
ListIterator<E> |
listIterator?(int index) |
Returns a list iterator over the elements in this list (in proper sequence), starting at the specified position in the list.
|
E |
remove?(int index) |
Removes the element at the specified position in this list.
|
boolean |
remove?(Object o) |
Removes the first occurrence of the specified element from this list, if it is present.
|
boolean |
removeAll?(Collection<?> c) |
Removes from this list all of its elements that are contained in the specified collection.
|
boolean |
removeIf?(Predicate<? super E> filter) |
Removes all of the elements of this collection that satisfy the given predicate.
|
protected void |
removeRange?(int fromIndex, int toIndex) |
Removes from this list all of the elements whose index is between
fromIndex , inclusive, and toIndex , exclusive. |
boolean |
retainAll?(Collection<?> c) |
Retains only the elements in this list that are contained in the specified collection.
|
E |
set?(int index,E element) |
Replaces the element at the specified position in this list with the specified element.
|
int |
size() |
Returns the number of elements in this list.
|
Spliterator<E> |
spliterator() |
Creates a late-binding and fail-fast
Spliterator over the elements in this list. |
List<E> |
subList?(int fromIndex, int toIndex) |
Returns a view of the portion of this list between the specified
fromIndex , inclusive, and toIndex , exclusive. |
Object[] |
toArray() |
Returns an array containing all of the elements in this list in proper sequence (from first to last element).
|
<T> T[] |
toArray?(T[] a) |
Returns an array containing all of the elements in this list in proper sequence (from first to last element); the runtime type of the returned array is that of the specified array.
|
void |
trimToSize() |
Trims the capacity of this
ArrayList instance to be the list‘s current size. |
解析ArrayList的构造函数
// 默认构造函数,默认容量大小为10 ArrayList() // capacity是ArrayList的默认容量大小。每次扩容为原来的1.5倍。 ArrayList(int capacity) // 创建一个包含collection的ArrayList,可以将别的ArrayList数组复制进去 ArrayList(Collection<? extends E> collection)
ArrayList适合查询与修改,格局位置索引index查询和修改只需要花费常数时间
get(int index)
set(int index, E element)
但是对ArrayList的插入,删除是非常耗时的,除非是在数组末端
add(int index,E element)
remove?(int index)//删除索引位置的元素
remove(Obiect o)//寻找等于 o 的元素,其实就是每个元素都比较一下,所以如果是自定义类就必需重写equals方法
所以我们知道了ArrayList不适合频繁插入删除的场景,适合根据索引频繁查询修改的场景
ArrayList转数组
toArray()//默认返回一个Object数组(注意!不可以(String[])toArray(),你只能对一个个元素转型不能对一个数组整体转型,所以建议使用第二种方法 )
toArray(T[] a)//自己设置数组类型比如toArray(new String[list.size()])就是返回一个数组大小=list长度元素类型为String的数组
ArrayList扩容
随着元素不断增加,原来空间不够用的时候
ensureCapacityInternal(int minCapacity)//根据传入的最小需要容量minCapacity来和数组的容量长度对比,若minCapactity大于或等于数组容量,则需要进行扩容。(
如果实际存储数组是空数组,则最小需要容量就是默认容量)
原文:https://www.cnblogs.com/shineyoung/p/10475593.html