public static class ReferenceLists.EmptyList<K> extends ReferenceCollections.EmptyCollection<K> implements ReferenceList<K>, java.util.RandomAccess, java.io.Serializable, java.lang.Cloneable
This class may be useful to implement your own in case you subclass a type-specific list.
Modifier and Type | Method and Description |
---|---|
void |
add(int index,
K k) |
boolean |
addAll(int i,
java.util.Collection<? extends K> c) |
void |
addElements(int index,
K[] a)
Add (hopefully quickly) elements to this type-specific list.
|
void |
addElements(int index,
K[] a,
int offset,
int length)
Add (hopefully quickly) elements to this type-specific list.
|
java.lang.Object |
clone() |
boolean |
equals(java.lang.Object o) |
K |
get(int i) |
void |
getElements(int from,
java.lang.Object[] a,
int offset,
int length)
Copies (hopefully quickly) elements of this type-specific list into the given array.
|
int |
hashCode() |
int |
indexOf(java.lang.Object k) |
ObjectListIterator<K> |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
int |
lastIndexOf(java.lang.Object k) |
ObjectListIterator<K> |
listIterator()
Returns a type-specific list iterator on the list.
|
ObjectListIterator<K> |
listIterator(int i)
Returns a type-specific list iterator on the list starting at a given index.
|
K |
remove(int i) |
boolean |
remove(java.lang.Object k) |
void |
removeElements(int from,
int to)
Removes (hopefully quickly) elements of this type-specific list.
|
void |
replaceAll(java.util.function.UnaryOperator<K> operator) |
K |
set(int index,
K k) |
void |
setElements(int index,
K[] a)
Set (hopefully quickly) elements to match the array given.
|
void |
setElements(int index,
K[] a,
int offset,
int length)
Set (hopefully quickly) elements to match the array given.
|
void |
setElements(K[] a)
Set (hopefully quickly) elements to match the array given.
|
void |
size(int s)
Sets the size of this list.
|
void |
sort(java.util.Comparator<? super K> comparator)
Sorts this list using a sort assured to be stable.
|
ReferenceList<K> |
subList(int from,
int to)
Returns a type-specific view of the portion of this list from the index
from , inclusive, to the index to , exclusive. |
java.lang.String |
toString() |
void |
unstableSort(java.util.Comparator<? super K> comparator)
Sorts this list using a sort not assured to be stable.
|
addAll, clear, contains, containsAll, forEach, removeAll, removeIf, retainAll, size, spliterator, toArray, toArray
addAll, addAll, of, of, of, of, of, spliterator
public boolean remove(java.lang.Object k)
public int indexOf(java.lang.Object k)
indexOf
in interface java.util.List<K>
public int lastIndexOf(java.lang.Object k)
lastIndexOf
in interface java.util.List<K>
public boolean addAll(int i, java.util.Collection<? extends K> c)
addAll
in interface java.util.List<K>
public void replaceAll(java.util.function.UnaryOperator<K> operator)
replaceAll
in interface java.util.List<K>
public void sort(java.util.Comparator<? super K> comparator)
ReferenceList
Pass null
to sort using natural ordering.
Unless a subclass specifies otherwise, the results of the method if the list is concurrently modified during the sort are unspecified.
sort
in interface ReferenceList<K>
sort
in interface java.util.List<K>
public void unstableSort(java.util.Comparator<? super K> comparator)
ReferenceList
List.sort(java.util.Comparator)
in that the results are
not assured to be stable, but may be a bit faster.
Pass null
to sort using natural ordering.
Unless a subclass specifies otherwise, the results of the method if the list is concurrently modified during the sort are unspecified.
unstableSort
in interface ReferenceList<K>
public ObjectListIterator<K> listIterator()
ReferenceList
listIterator
in interface ReferenceList<K>
listIterator
in interface java.util.List<K>
List.listIterator()
public ObjectListIterator<K> iterator()
ReferenceCollection
iterator
in interface ObjectIterable<K>
iterator
in interface ReferenceCollection<K>
iterator
in interface ReferenceList<K>
iterator
in interface java.lang.Iterable<K>
iterator
in interface java.util.Collection<K>
iterator
in interface java.util.List<K>
iterator
in class ReferenceCollections.EmptyCollection<K>
Iterable.iterator()
public ObjectListIterator<K> listIterator(int i)
ReferenceList
listIterator
in interface ReferenceList<K>
listIterator
in interface java.util.List<K>
List.listIterator(int)
public ReferenceList<K> subList(int from, int to)
ReferenceList
from
, inclusive, to the index to
, exclusive.subList
in interface ReferenceList<K>
subList
in interface java.util.List<K>
List.subList(int,int)
public void getElements(int from, java.lang.Object[] a, int offset, int length)
ReferenceList
getElements
in interface ReferenceList<K>
from
- the start index (inclusive).a
- the destination array.offset
- the offset into the destination array where to store the first element copied.length
- the number of elements to be copied.public void removeElements(int from, int to)
ReferenceList
removeElements
in interface ReferenceList<K>
from
- the start index (inclusive).to
- the end index (exclusive).public void addElements(int index, K[] a, int offset, int length)
ReferenceList
addElements
in interface ReferenceList<K>
index
- the index at which to add elements.a
- the array containing the elements.offset
- the offset of the first element to add.length
- the number of elements to add.public void addElements(int index, K[] a)
ReferenceList
addElements
in interface ReferenceList<K>
index
- the index at which to add elements.a
- the array containing the elements.public void setElements(K[] a)
ReferenceList
setElements
in interface ReferenceList<K>
a
- the array containing the elements.public void setElements(int index, K[] a)
ReferenceList
setElements
in interface ReferenceList<K>
index
- the index at which to start setting elements.a
- the array containing the elements.public void setElements(int index, K[] a, int offset, int length)
ReferenceList
ListIterator iter = listIterator(index);
int i = 0;
while (i < length) {
iter.next();
iter.set(a[offset + i++]);
}
However, the exact implementation may be more efficient, taking into account
whether random access is faster or not, or at the discretion of subclasses,
abuse internals.setElements
in interface ReferenceList<K>
index
- the index at which to start setting elements.a
- the array containing the elementsoffset
- the offset of the first element to add.length
- the number of elements to add.public void size(int s)
ReferenceList
If the specified size is smaller than the current size, the last elements are
discarded. Otherwise, they are filled with 0/null
/false
.
size
in interface ReferenceList<K>
s
- the new size.public java.lang.Object clone()
clone
in class java.lang.Object
public int hashCode()
hashCode
in interface java.util.Collection<K>
hashCode
in interface java.util.List<K>
hashCode
in class ReferenceCollections.EmptyCollection<K>
public boolean equals(java.lang.Object o)
equals
in interface java.util.Collection<K>
equals
in interface java.util.List<K>
equals
in class ReferenceCollections.EmptyCollection<K>
public java.lang.String toString()
toString
in class AbstractReferenceCollection<K>