public static class ObjectLists.Singleton<K> extends AbstractObjectList<K> implements 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.
AbstractObjectList.ObjectRandomAccessSubList<K>, AbstractObjectList.ObjectSubList<K>
Modifier and Type | Method and Description |
---|---|
boolean |
addAll(java.util.Collection<? extends K> c) |
boolean |
addAll(int i,
java.util.Collection<? extends K> c)
Adds all of the elements in the specified collection to this list (optional operation).
|
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.
|
void |
clear() |
java.lang.Object |
clone() |
boolean |
contains(java.lang.Object k)
Returns true if this list contains the specified element.
|
void |
forEach(java.util.function.Consumer<? super K> action) |
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 |
indexOf(java.lang.Object k) |
ObjectListIterator<K> |
iterator()
Returns a type-specific iterator on the elements of this collection.
|
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) |
boolean |
removeAll(java.util.Collection<?> c) |
void |
removeElements(int from,
int to)
Removes (hopefully quickly) elements of this type-specific list.
|
boolean |
removeIf(java.util.function.Predicate<? super K> filter) |
void |
replaceAll(java.util.function.UnaryOperator<K> operator) |
boolean |
retainAll(java.util.Collection<?> c) |
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.
|
int |
size() |
void |
size(int size)
Sets the size of this list.
|
void |
sort(java.util.Comparator<? super K> comparator)
Sorts this list using a sort assured to be stable.
|
ObjectSpliterator<K> |
spliterator()
Returns a type-specific spliterator on the elements of this list.
|
ObjectList<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.Object[] |
toArray() |
void |
unstableSort(java.util.Comparator<? super K> comparator)
Sorts this list using a sort not assured to be stable.
|
add, add, compareTo, equals, hashCode, lastIndexOf, peek, pop, push, set, toArray, top, toString
public boolean remove(java.lang.Object k)
public K remove(int i)
AbstractObjectList
remove
in interface java.util.List<K>
remove
in class AbstractObjectList<K>
public boolean contains(java.lang.Object k)
AbstractObjectList
contains
in interface java.util.Collection<K>
contains
in interface java.util.List<K>
contains
in class AbstractObjectList<K>
List.contains(Object)
public int indexOf(java.lang.Object k)
indexOf
in interface java.util.List<K>
indexOf
in class AbstractObjectList<K>
public java.lang.Object[] toArray()
toArray
in interface java.util.Collection<K>
toArray
in interface java.util.List<K>
toArray
in class AbstractObjectList<K>
public ObjectListIterator<K> listIterator()
AbstractObjectList
listIterator
in interface ObjectList<K>
listIterator
in interface java.util.List<K>
listIterator
in class AbstractObjectList<K>
List.listIterator()
public ObjectListIterator<K> iterator()
AbstractObjectList
iterator
in interface ObjectCollection<K>
iterator
in interface ObjectIterable<K>
iterator
in interface ObjectList<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 AbstractObjectList<K>
Iterable.iterator()
public ObjectSpliterator<K> spliterator()
ObjectList
List spliterators must report at least Spliterator.SIZED
and Spliterator.ORDERED
.
See List.spliterator()
for more documentation on the requirements
of the returned spliterator.
spliterator
in interface ObjectCollection<K>
spliterator
in interface ObjectIterable<K>
spliterator
in interface ObjectList<K>
spliterator
in interface java.lang.Iterable<K>
spliterator
in interface java.util.Collection<K>
spliterator
in interface java.util.List<K>
public ObjectListIterator<K> listIterator(int i)
AbstractObjectList
listIterator
in interface ObjectList<K>
listIterator
in interface java.util.List<K>
listIterator
in class AbstractObjectList<K>
List.listIterator(int)
public ObjectList<K> subList(int from, int to)
ObjectList
from
, inclusive, to the index to
, exclusive.subList
in interface ObjectList<K>
subList
in interface java.util.List<K>
subList
in class AbstractObjectList<K>
List.subList(int,int)
public void forEach(java.util.function.Consumer<? super K> action)
AbstractObjectList
forEach
in interface java.lang.Iterable<K>
forEach
in class AbstractObjectList<K>
public boolean addAll(int i, java.util.Collection<? extends K> c)
AbstractObjectList
addAll
in interface java.util.List<K>
addAll
in class AbstractObjectList<K>
public boolean addAll(java.util.Collection<? extends K> c)
AbstractObjectList
addAll
in interface java.util.Collection<K>
addAll
in interface java.util.List<K>
addAll
in class AbstractObjectList<K>
public boolean removeAll(java.util.Collection<?> c)
public boolean retainAll(java.util.Collection<?> c)
public boolean removeIf(java.util.function.Predicate<? super K> filter)
removeIf
in interface java.util.Collection<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)
ObjectList
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 ObjectList<K>
sort
in interface java.util.List<K>
public void unstableSort(java.util.Comparator<? super K> comparator)
ObjectList
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 ObjectList<K>
public void getElements(int from, java.lang.Object[] a, int offset, int length)
AbstractObjectList
This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
getElements
in interface ObjectList<K>
getElements
in class AbstractObjectList<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)
AbstractObjectList
This is a trivial iterator-based based implementation. It is expected that implementations will override this method with a more optimized version.
removeElements
in interface ObjectList<K>
removeElements
in class AbstractObjectList<K>
from
- the start index (inclusive).to
- the end index (exclusive).public void addElements(int index, K[] a)
AbstractObjectList
addElements
in interface ObjectList<K>
addElements
in class AbstractObjectList<K>
index
- the index at which to add elements.a
- the array containing the elements.public void addElements(int index, K[] a, int offset, int length)
AbstractObjectList
This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
addElements
in interface ObjectList<K>
addElements
in class AbstractObjectList<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 setElements(K[] a)
ObjectList
setElements
in interface ObjectList<K>
a
- the array containing the elements.public void setElements(int index, K[] a)
ObjectList
setElements
in interface ObjectList<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)
ObjectList
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 ObjectList<K>
setElements
in class AbstractObjectList<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 int size()
public void size(int size)
ObjectList
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 ObjectList<K>
size
in class AbstractObjectList<K>
size
- the new size.public void clear()
AbstractObjectList
clear
in interface java.util.Collection<K>
clear
in interface java.util.List<K>
clear
in class AbstractObjectList<K>
public java.lang.Object clone()
clone
in class java.lang.Object