Java ArrayList


Java ArrayList的構造方法和方法

  • Constructor Summary

    Constructors
    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.
  • Method Summary

    All MethodsInstance MethodsConcrete Methods
    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大於或等於數組容量,則需要進行擴容。(如果實際存儲數組是空數組,則最小需要容量就是默認容量)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM