Package org.geotools.util
Class CheckedArrayList<E>
Object
AbstractCollection<E>
AbstractList<E>
ArrayList<E>
CheckedArrayList<E>
- Type Parameters:
E- The type of elements in the list.
- All Implemented Interfaces:
Serializable,Cloneable,Iterable<E>,Collection<E>,List<E>,RandomAccess,Cloneable,CheckedCollection<E>
- Direct Known Subclasses:
XPathUtil.StepList
A checked and synchronized
List. Type checks are performed at run-time in addition of compile-time checks. The synchronization
lock can be modified at runtime by overriding the getLock() method.
This class is similar to using the wrappers provided in Collections, minus the cost of indirection levels
and with the addition of overrideable methods.
- Since:
- 2.1
- Author:
- Jody Garnett (Refractions Research), Martin Desruisseaux (IRD)
- See Also:
-
Field Summary
Fields inherited from class AbstractList
modCount -
Constructor Summary
ConstructorsConstructorDescriptionCheckedArrayList(Class<E> type) Constructs a list of the specified type.CheckedArrayList(Class<E> type, int capacity) Constructs a list of the specified type and initial capacity. -
Method Summary
Modifier and TypeMethodDescriptionvoidInserts the specified element at the specified position in this list.booleanAppends the specified element to the end of this list.booleanaddAll(int index, Collection<? extends E> collection) Inserts all of the elements in the specified collection into this list, starting at the specified position.booleanaddAll(Collection<? extends E> collection) 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.protected voidChecks if changes in this collection are allowed.voidclear()Removes all of the elements from this list.clone()Returns a shallow copy of this list.booleanReturnstrueif this list contains the specified element.voidensureCapacity(int minCapacity) Increases the capacity, if necessary, to ensure that it can hold the given number of elements.protected voidensureValidType(E element) Checks the type of the specified object.booleanCompares the specified object with this list for equality.get(int index) Returns the element at the specified position in this list.Returns the element type given at construction time.protected ObjectgetLock()Returns the synchronization lock.inthashCode()Returns the hash code value for this list.intReturns the index of the first occurrence of the specified element in this list, or -1 if none.booleanisEmpty()Returnstrueif this list contains no elements.iterator()Returns an iterator over the elements in this list.intReturns the index of the last occurrence of the specified element in this list, or -1 if none.remove(int index) Removes the element at the specified position in this list.booleanRemoves the first occurrence of the specified element from this list.booleanremoveAll(Collection<?> c) Removes all of this list's elements that are also contained in the specified collection.booleanretainAll(Collection<?> c) Retains only the elements in this list that are contained in the specified collection.Replaces the element at the specified position in this list with the specified element.intsize()Returns the number of elements in this list.Object[]toArray()Returns an array containing all of the elements in this list.<T> T[]toArray(T[] a) Returns an array containing all of the elements in this list in proper sequence.toString()Returns a string representation of this list.voidTrims the capacity to the list's current size.Methods inherited from class ArrayList
forEach, listIterator, listIterator, removeIf, removeRange, replaceAll, sort, spliterator, subListMethods inherited from class AbstractCollection
containsAllMethods inherited from interface Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface List
containsAll
-
Constructor Details
-
CheckedArrayList
Constructs a list of the specified type.- Parameters:
type- The element type (should not be null).
-
CheckedArrayList
Constructs a list of the specified type and initial capacity.- Parameters:
type- The element type (should not be null).capacity- The initial capacity.- Since:
- 2.4
-
-
Method Details
-
getElementType
Returns the element type given at construction time.- Specified by:
getElementTypein interfaceCheckedCollection<E>- Returns:
- The element type.
- Since:
- 2.4
-
ensureValidType
Checks the type of the specified object. The default implementation ensure that the object is assignable to the type specified at construction time.- Parameters:
element- the object to check, ornull.- Throws:
IllegalArgumentException- if the specified element is not of the expected type.
-
checkWritePermission
Checks if changes in this collection are allowed. This method is automatically invoked after this collection got the lock and before any operation that may change the content. The default implementation does nothing (i.e. this collection is modifiable). Subclasses should override this method if they want to control write access.- Throws:
UnsupportedOperationException- if this collection is unmodifiable.- Since:
- 2.5
-
getLock
Returns the synchronization lock. The default implementation returnsthis. Subclasses that override this method should be careful to update the lock reference when this list is cloned.- Returns:
- The synchronization lock.
- Since:
- 2.5
-
iterator
Returns an iterator over the elements in this list. -
size
public int size()Returns the number of elements in this list. -
isEmpty
public boolean isEmpty()Returnstrueif this list contains no elements. -
contains
Returnstrueif this list contains the specified element. -
indexOf
Returns the index of the first occurrence of the specified element in this list, or -1 if none. -
lastIndexOf
Returns the index of the last occurrence of the specified element in this list, or -1 if none.- Specified by:
lastIndexOfin interfaceList<E>- Overrides:
lastIndexOfin classArrayList<E>
-
get
Returns the element at the specified position in this list. -
set
Replaces the element at the specified position in this list with the specified element.- Specified by:
setin interfaceList<E>- Overrides:
setin classArrayList<E>- Parameters:
index- index of element to replace.element- element to be stored at the specified position.- Returns:
- the element previously at the specified position.
- Throws:
IndexOutOfBoundsException- if index out of range.IllegalArgumentException- if the specified element is not of the expected type.UnsupportedOperationException- if this collection is unmodifiable.
-
add
Appends the specified element to the end of this list.- Specified by:
addin interfaceCollection<E>- Specified by:
addin interfaceList<E>- Overrides:
addin classArrayList<E>- Parameters:
element- element to be appended to this list.- Returns:
- always
true. - Throws:
IllegalArgumentException- if the specified element is not of the expected type.UnsupportedOperationException- if this collection is unmodifiable.
-
add
public void add(int index, E element) throws IllegalArgumentException, UnsupportedOperationException Inserts the specified element at the specified position in this list.- Specified by:
addin interfaceList<E>- Overrides:
addin classArrayList<E>- Parameters:
index- index at which the specified element is to be inserted.element- element to be inserted.- Throws:
IndexOutOfBoundsException- if index out of range.IllegalArgumentException- if the specified element is not of the expected type.UnsupportedOperationException- if this collection is unmodifiable.
-
addAll
public boolean addAll(Collection<? extends E> collection) throws IllegalArgumentException, UnsupportedOperationException 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.- Specified by:
addAllin interfaceCollection<E>- Specified by:
addAllin interfaceList<E>- Overrides:
addAllin classArrayList<E>- Parameters:
collection- the elements to be inserted into this list.- Returns:
trueif this list changed as a result of the call.- Throws:
IllegalArgumentException- if at least one element is not of the expected type.UnsupportedOperationException- if this collection is unmodifiable.
-
addAll
public boolean addAll(int index, Collection<? extends E> collection) throws IllegalArgumentException, UnsupportedOperationException Inserts all of the elements in the specified collection into this list, starting at the specified position.- Specified by:
addAllin interfaceList<E>- Overrides:
addAllin classArrayList<E>- Parameters:
index- index at which to insert first element fromm the specified collection.collection- elements to be inserted into this list.- Returns:
trueif this list changed as a result of the call.- Throws:
IllegalArgumentException- if at least one element is not of the expected type.UnsupportedOperationException- if this collection is unmodifiable.
-
remove
Removes the element at the specified position in this list. -
remove
Removes the first occurrence of the specified element from this list.- Specified by:
removein interfaceCollection<E>- Specified by:
removein interfaceList<E>- Overrides:
removein classArrayList<E>- Throws:
UnsupportedOperationException- if this collection is unmodifiable.
-
removeAll
Removes all of this list's elements that are also contained in the specified collection.- Specified by:
removeAllin interfaceCollection<E>- Specified by:
removeAllin interfaceList<E>- Overrides:
removeAllin classArrayList<E>- Throws:
UnsupportedOperationException- if this collection is unmodifiable.
-
retainAll
Retains only the elements in this list that are contained in the specified collection.- Specified by:
retainAllin interfaceCollection<E>- Specified by:
retainAllin interfaceList<E>- Overrides:
retainAllin classArrayList<E>- Throws:
UnsupportedOperationException- if this collection is unmodifiable.
-
trimToSize
public void trimToSize()Trims the capacity to the list's current size.- Overrides:
trimToSizein classArrayList<E>
-
ensureCapacity
public void ensureCapacity(int minCapacity) Increases the capacity, if necessary, to ensure that it can hold the given number of elements.- Overrides:
ensureCapacityin classArrayList<E>
-
clear
Removes all of the elements from this list.- Specified by:
clearin interfaceCollection<E>- Specified by:
clearin interfaceList<E>- Overrides:
clearin classArrayList<E>- Throws:
UnsupportedOperationException- if this collection is unmodifiable.
-
toArray
Returns an array containing all of the elements in this list. -
toArray
public <T> T[] toArray(T[] a) Returns an array containing all of the elements in this list in proper sequence. -
toString
Returns a string representation of this list.- Overrides:
toStringin classAbstractCollection<E>
-
equals
Compares the specified object with this list for equality. -
hashCode
public int hashCode()Returns the hash code value for this list. -
clone
Returns a shallow copy of this list.
-