Package alluxio.collections
Class UnmodifiableArrayList<T>
- java.lang.Object
-
- alluxio.collections.UnmodifiableArrayList<T>
-
- Type Parameters:
T
- element type of the underlying array
- All Implemented Interfaces:
java.lang.Iterable<T>
,java.util.Collection<T>
,java.util.List<T>
@NotThreadSafe public class UnmodifiableArrayList<T> extends java.lang.Object implements java.util.List<T>
This class provides an unmodifiable List proxy for an underlying array. In other words, this helps you use the array like a List, but not being able to modify it. Create an instance with the constructor and get the underlying array withtoArray()
. The difference toCollections.unmodifiableList(Arrays.asList(array))
is, in some Java implementations like adoptjdk, Arrays.asList() copies the array withnew ArrayList<>(array)
so it is not performant. Also this class makes it possible to recover the original array from the List,list.toArray()
returns the underlying array instead of a copy. Use the underlying array for modification if needed. Use this when you just want to return an unmodifiable view of the array. There is no extra thread safety guarantee on this List. When the underlying array changes, the view will change too, and there is no extra thread safety.
-
-
Constructor Summary
Constructors Constructor Description UnmodifiableArrayList(T[] elements)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, T element)
boolean
add(T t)
boolean
addAll(int index, java.util.Collection<? extends T> c)
boolean
addAll(java.util.Collection<? extends T> c)
void
clear()
boolean
contains(java.lang.Object o)
boolean
containsAll(java.util.Collection<?> c)
T
get(int index)
int
indexOf(java.lang.Object o)
boolean
isEmpty()
java.util.Iterator<T>
iterator()
int
lastIndexOf(java.lang.Object o)
java.util.ListIterator<T>
listIterator()
java.util.ListIterator<T>
listIterator(int index)
T
remove(int index)
boolean
remove(java.lang.Object o)
boolean
removeAll(java.util.Collection<?> c)
boolean
retainAll(java.util.Collection<?> c)
T
set(int index, T element)
int
size()
java.util.List<T>
subList(int fromIndex, int toIndex)
java.lang.Object[]
toArray()
<T1> T1[]
toArray(T1[] a)
-
-
-
Constructor Detail
-
UnmodifiableArrayList
public UnmodifiableArrayList(T[] elements)
- Parameters:
elements
- the underlying array
-
-
Method Detail
-
size
public int size()
-
isEmpty
public boolean isEmpty()
-
contains
public boolean contains(java.lang.Object o)
-
iterator
public java.util.Iterator<T> iterator()
-
toArray
public java.lang.Object[] toArray()
-
toArray
public <T1> T1[] toArray(T1[] a)
-
add
public boolean add(T t)
-
remove
public boolean remove(java.lang.Object o)
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
-
addAll
public boolean addAll(java.util.Collection<? extends T> c)
-
addAll
public boolean addAll(int index, java.util.Collection<? extends T> c)
- Specified by:
addAll
in interfacejava.util.List<T>
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
-
clear
public void clear()
-
indexOf
public int indexOf(java.lang.Object o)
- Specified by:
indexOf
in interfacejava.util.List<T>
-
lastIndexOf
public int lastIndexOf(java.lang.Object o)
- Specified by:
lastIndexOf
in interfacejava.util.List<T>
-
listIterator
public java.util.ListIterator<T> listIterator()
- Specified by:
listIterator
in interfacejava.util.List<T>
-
listIterator
public java.util.ListIterator<T> listIterator(int index)
- Specified by:
listIterator
in interfacejava.util.List<T>
-
-