ArrayList | +--org.apache.commons.collections.FastArrayList
boolean | Are we operating in "fast" mode? |
ArrayList | The underlying list we are managing. |
Construct a an empty list. |
FastArrayList(int capacity) Construct an empty list with the specified capacity. |
FastArrayList(Collection collection) Construct a list containing the elements of the specified collection, in the order they are returned by the collection's iterator. |
boolean | add(Object element) Appends the specified element to the end of this list. |
void | add(int index, Object element) Insert the specified element at the specified position in this list, and shift all remaining elements up one position. |
boolean | addAll(Collection collection) Append 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. |
boolean | addAll(int index, Collection collection) Insert all of the elements in the specified Collection at the specified position in this list, and shift any previous elements upwards as needed. |
void | clear() Remove all of the elements from this list. |
Object | clone() Return a shallow copy of this FastArrayList instance. |
boolean | contains(Object element) Return true if this list contains the specified element. |
boolean | containsAll(Collection collection) Return true if this list contains all of the elements in the specified Collection. |
void | ensureCapacity(int capacity) Increase 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. |
boolean | equals(Object o) Compare the specified object with this list for equality. |
Object | get(int index) Return the element at the specified position in the list. |
boolean | getFast() Returns true if this list is operating in fast mode. |
int | hashCode() Return the hash code value for this list. |
int | indexOf(Object element) Search for the first occurrence of the given argument, testing for equality using the equals() method, and return the corresponding index, or -1 if the object is not found. |
boolean | isEmpty() Test if this list has no elements. |
Iterator | iterator() Return an iterator over the elements in this list in proper sequence. |
int | lastIndexOf(Object element) Search for the last occurrence of the given argument, testing for equality using the equals() method, and return the corresponding index, or -1 if the object is not found. |
ListIterator | Return an iterator of the elements of this list, in proper sequence. |
ListIterator | listIterator(int index) Return an iterator of the elements of this list, in proper sequence, starting at the specified position. |
Object | remove(int index) Remove the element at the specified position in the list, and shift any subsequent elements down one position. |
boolean | remove(Object element) Remove the first occurrence of the specified element from the list, and shift any subsequent elements down one position. |
boolean | removeAll(Collection collection) Remove from this collection all of its elements that are contained in the specified collection. |
boolean | retainAll(Collection collection) Remove from this collection all of its elements except those that are contained in the specified collection. |
Object | set(int index, Object element) Replace the element at the specified position in this list with the specified element. |
void | setFast(boolean fast) Sets whether this list will operate in fast mode. |
int | size() Return the number of elements in this list. |
List | subList(int fromIndex, int toIndex) Return a view of the portion of this list between fromIndex (inclusive) and toIndex (exclusive). |
Object[] | toArray() Return an array containing all of the elements in this list in the correct order. |
Object[] | toArray(Object[] array) Return an array containing all of the elements in this list in the correct order. |
String | toString() Return a String representation of this object. |
void | Trim the capacity of this ArrayList instance to be the list's current size. |
protected boolean fast
protected ArrayList list
public FastArrayList()
public FastArrayList(Collection collection)
public FastArrayList(int capacity)
public void add(int index, Object element)
- if the index is out of rangepublic boolean add(Object element)
public boolean addAll(Collection collection)
public boolean addAll(int index, Collection collection)
- if the index is out of rangepublic void clear()
- if clear()
is not supported by this listpublic Object clone()
FastArrayList
instance.
The elements themselves are not copied.
public boolean contains(Object element)
true
if this list contains the specified element.
public boolean containsAll(Collection collection)
true
if this list contains all of the elements
in the specified Collection.
public void ensureCapacity(int capacity)
ArrayList
instance, if
necessary, to ensure that it can hold at least the number of elements
specified by the minimum capacity argument.
public boolean equals(Object o)
List.equals
method.
public Object get(int index)
- if the index is out of rangepublic boolean getFast()
public int hashCode()
List.hashCode
method.
public int indexOf(Object element)
equals()
method, and return
the corresponding index, or -1 if the object is not found.
public boolean isEmpty()
public Iterator iterator()
public int lastIndexOf(Object element)
equals()
method, and return
the corresponding index, or -1 if the object is not found.
public ListIterator listIterator()
iterator()
.
public ListIterator listIterator(int index)
iterator()
.
- if the index is out of rangepublic Object remove(int index)
- if the index is out of rangepublic boolean remove(Object element)
public boolean removeAll(Collection collection)
- if this optional operation
is not supported by this listpublic boolean retainAll(Collection collection)
- if this optional operation
is not supported by this listpublic Object set(int index, Object element)
- if the index is out of rangepublic void setFast(boolean fast)
public int size()
public List subList(int fromIndex, int toIndex)
- if an index is out of rangepublic Object[] toArray()
public Object[] toArray(Object[] array)
- if the runtime type of array
is not a supertype of the runtime type of every element in this listpublic String toString()
public void trimToSize()
ArrayList
instance to be the
list's current size. An application can use this operation to minimize
the storage of an ArrayList
instance.
java.util.ArrayList
designed to operate in a multithreaded environment where the large majority of method calls are read-only, instead of structural changes. When operating in "fast" mode, read calls are non-synchronized and write calls perform the following steps:- Clone the existing collection
- Perform the modification on the clone
- Replace the existing collection with the (modified) clone
When first created, objects of this class default to "slow" mode, where all accesses of any type are synchronized but no cloning takes place. This is appropriate for initially populating the collection, followed by a switch to "fast" mode (by callingsetFast(true)
) after initialization is complete. NOTE: If you are creating and accessing anArrayList
only within a single thread, you should usejava.util.ArrayList
directly (with no synchronization), for maximum performance. NOTE: This class is not cross-platform. Using it may cause unexpected failures on some architectures. It suffers from the same problems as the double-checked locking idiom. In particular, the instruction that clones the internal collection and the instruction that sets the internal reference to the clone can be executed or perceived out-of-order. This means that any read operation might fail unexpectedly, as it may be reading the state of the internal collection before the internal collection is fully formed. For more information on the double-checked locking idiom, see the Double-Checked Locking Idiom Is Broken Declaration.