Interface ObjectList<K>
-
- All Superinterfaces:
Collection<K>,Comparable<List<? extends K>>,Iterable<K>,List<K>,ObjectCollection<K>,ObjectIterable<K>
- All Known Implementing Classes:
AbstractObjectList,AbstractObjectList.ObjectSubList,ByteArrayFrontCodedList,CharArrayFrontCodedList,IntArrayFrontCodedList,LongArrayFrontCodedList,ObjectArrayList,ObjectLists.EmptyList,ObjectLists.Singleton,ObjectLists.SynchronizedList,ObjectLists.SynchronizedRandomAccessList,ObjectLists.UnmodifiableList,ObjectLists.UnmodifiableRandomAccessList,ShortArrayFrontCodedList
public interface ObjectList<K> extends List<K>, Comparable<List<? extends K>>, ObjectCollection<K>
A type-specificList; provides some additional methods that use polymorphism to avoid (un)boxing.Note that this type-specific interface extends
Comparable: it is expected that implementing classes perform a lexicographical comparison using the standard operator "less then" for primitive types, and the usualcompareTo()method for objects.Additionally, this interface strengthens
listIterator(),listIterator(int)andsubList(int,int).Besides polymorphic methods, this interfaces specifies methods to copy into an array or remove contiguous sublists. Although the abstract implementation of this interface provides simple, one-by-one implementations of these methods, it is expected that concrete implementation override them with optimized versions.
- See Also:
List
-
-
Method Summary
Modifier and Type Method Description voidaddElements(int index, K[] a)Add (hopefully quickly) elements to this type-specific list.voidaddElements(int index, K[] a, int offset, int length)Add (hopefully quickly) elements to this type-specific list.voidgetElements(int from, Object[] a, int offset, int length)Copies (hopefully quickly) elements of this type-specific list into the given array.ObjectListIterator<K>iterator()Returns a type-specific iterator on the elements of this list.ObjectListIterator<K>listIterator()Returns a type-specific list iterator on the list.ObjectListIterator<K>listIterator(int index)Returns a type-specific list iterator on the list starting at a given index.voidremoveElements(int from, int to)Removes (hopefully quickly) elements of this type-specific list.voidsize(int size)Sets the size of this list.ObjectList<K>subList(int from, int to)Returns a type-specific view of the portion of this list from the indexfrom, inclusive, to the indexto, exclusive.-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface java.lang.Comparable
compareTo
-
-
-
-
Method Detail
-
iterator
ObjectListIterator<K> iterator()
Returns a type-specific iterator on the elements of this list.Note that this specification strengthens the one given in
List.iterator(). It would not be normally necessary, butIterable.iterator()is bizarrily re-specified inList.- Specified by:
iteratorin interfaceCollection<K>- Specified by:
iteratorin interfaceIterable<K>- Specified by:
iteratorin interfaceList<K>- Specified by:
iteratorin interfaceObjectCollection<K>- Specified by:
iteratorin interfaceObjectIterable<K>- Returns:
- an iterator on the elements of this list.
- See Also:
Iterable.iterator()
-
listIterator
ObjectListIterator<K> listIterator()
Returns a type-specific list iterator on the list.- Specified by:
listIteratorin interfaceList<K>- See Also:
List.listIterator()
-
listIterator
ObjectListIterator<K> listIterator(int index)
Returns a type-specific list iterator on the list starting at a given index.- Specified by:
listIteratorin interfaceList<K>- See Also:
List.listIterator(int)
-
subList
ObjectList<K> subList(int from, int to)
Returns a type-specific view of the portion of this list from the indexfrom, inclusive, to the indexto, exclusive.Note that this specification strengthens the one given in
List.subList(int,int).- Specified by:
subListin interfaceList<K>- See Also:
List.subList(int,int)
-
size
void size(int size)
Sets the size of this list.If the specified size is smaller than the current size, the last elements are discarded. Otherwise, they are filled with 0/
null/false.- Parameters:
size- the new size.
-
getElements
void getElements(int from, Object[] a, int offset, int length)Copies (hopefully quickly) elements of this type-specific list into the given array.- Parameters:
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.
-
removeElements
void removeElements(int from, int to)Removes (hopefully quickly) elements of this type-specific list.- Parameters:
from- the start index (inclusive).to- the end index (exclusive).
-
addElements
void addElements(int index, K[] a)Add (hopefully quickly) elements to this type-specific list.- Parameters:
index- the index at which to add elements.a- the array containing the elements.
-
addElements
void addElements(int index, K[] a, int offset, int length)Add (hopefully quickly) elements to this type-specific list.- Parameters:
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.
-
-