Package org.geotools.util
Class UnmodifiableArrayList<E>
Object
AbstractCollection<E>
AbstractList<E>
UnmodifiableArrayList<E>
- Type Parameters:
E- The type of elements in the list.
- All Implemented Interfaces:
Serializable,Iterable<E>,Collection<E>,List<E>,CheckedCollection<E>
public class UnmodifiableArrayList<E>
extends AbstractList<E>
implements CheckedCollection<E>, Serializable
An unmodifiable view of an array. Invoking
UnmodifiableArrayList.wrap(array);
is equivalent to
Collections.unmodifiableList(Arrays.asList(array)));
But this class provides a very slight performance improvement since it uses one less level of indirection.- Since:
- 2.1
- Author:
- Martin Desruisseaux (IRD)
- See Also:
-
Field Summary
Fields inherited from class AbstractList
modCount -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedUnmodifiableArrayList(E... array) Creates a new instance of an array list. -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturnstrueif this collection contains the specified element.get(int index) Returns the element at the specified index.Returns the element type of the wrapped array.intReturns the index in this list of the first occurence of the specified element, or -1 if the list does not contain this element.intlastIndexOf(Object object) Returns the index in this list of the last occurence of the specified element, or -1 if the list does not contain this element.intsize()Returns the list size.static <E> UnmodifiableArrayList<E>wrap(E... array) Creates a new instance of an array list.Methods inherited from class AbstractList
add, add, addAll, clear, equals, hashCode, iterator, listIterator, listIterator, remove, removeRange, set, subListMethods inherited from class AbstractCollection
addAll, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toStringMethods inherited from interface Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface List
addAll, containsAll, isEmpty, remove, removeAll, replaceAll, retainAll, sort, spliterator, toArray, toArray
-
Constructor Details
-
UnmodifiableArrayList
Creates a new instance of an array list. A direct reference to the given array is retained (i.e. the array is not cloned). Consequently the given array should not be modified after construction if this list is intented to be immutable.This constructor is for subclassing only. Users should invoke the
wrap(E...)static factory method, which provides more convenient handling of parameterized types.- Parameters:
array- The array to wrap.
-
-
Method Details
-
wrap
Creates a new instance of an array list. A direct reference to the given array is retained (i.e. the array is not cloned). Consequently the given array should not be modified after construction if this list is intented to be immutable.- Type Parameters:
E- The type of elements in the list.- Parameters:
array- The array to wrap.- Returns:
- The given array wrapped in an unmodifiable list.
- Since:
- 2.5
-
getElementType
Returns the element type of the wrapped array.- Specified by:
getElementTypein interfaceCheckedCollection<E>- Returns:
- The type of elements in the list.
-
size
public int size()Returns the list size.- Specified by:
sizein interfaceCollection<E>- Specified by:
sizein interfaceList<E>- Specified by:
sizein classAbstractCollection<E>
-
get
Returns the element at the specified index. -
indexOf
Returns the index in this list of the first occurence of the specified element, or -1 if the list does not contain this element. This method is overridden only for performance reason (the default implementation would work as well). -
lastIndexOf
Returns the index in this list of the last occurence of the specified element, or -1 if the list does not contain this element. This method is overridden only for performance reason (the default implementation would work as well).- Specified by:
lastIndexOfin interfaceList<E>- Overrides:
lastIndexOfin classAbstractList<E>- Parameters:
object- The element to searcch for.
-
contains
Returnstrueif this collection contains the specified element. This method is overridden only for performance reason (the default implementation would work as well).- Specified by:
containsin interfaceCollection<E>- Specified by:
containsin interfaceList<E>- Overrides:
containsin classAbstractCollection<E>- Parameters:
object- The element to check for existence.
-