Package it.unimi.dsi.fastutil.objects
Class AbstractObjectList.ObjectSubList<K>
- java.lang.Object
-
- java.util.AbstractCollection<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObjectCollection<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObjectList<K>
-
- it.unimi.dsi.fastutil.objects.AbstractObjectList.ObjectSubList<K>
-
- All Implemented Interfaces:
ObjectCollection<K>
,ObjectIterable<K>
,ObjectList<K>
,Stack<K>
,java.io.Serializable
,java.lang.Comparable<java.util.List<? extends K>>
,java.lang.Iterable<K>
,java.util.Collection<K>
,java.util.List<K>
- Direct Known Subclasses:
AbstractObjectList.ObjectRandomAccessSubList
- Enclosing class:
- AbstractObjectList<K>
public static class AbstractObjectList.ObjectSubList<K> extends AbstractObjectList<K> implements java.io.Serializable
A class implementing a sublist view.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectList
AbstractObjectList.ObjectRandomAccessSubList<K>, AbstractObjectList.ObjectSubList<K>
-
-
Constructor Summary
Constructors Constructor Description ObjectSubList(ObjectList<K> l, int from, int to)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, K k)
boolean
add(K k)
boolean
addAll(int index, 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, int offset, int length)
Add (hopefully quickly) elements to this type-specific list.K
get(int index)
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.ObjectListIterator<K>
listIterator(int index)
Returns a type-specific list iterator on the list starting at a given index.K
remove(int index)
void
removeElements(int from, int to)
Removes (hopefully quickly) elements of this type-specific list.K
set(int index, K k)
void
setElements(int index, K[] a, int offset, int length)
Set (hopefully quickly) elements to match the array given.int
size()
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 indexfrom
, inclusive, to the indexto
, exclusive.-
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractObjectList
addAll, addElements, clear, compareTo, contains, equals, forEach, hashCode, indexOf, iterator, lastIndexOf, listIterator, peek, pop, push, size, toArray, toArray, top, toString
-
Methods inherited from class java.util.AbstractCollection
containsAll, isEmpty, remove, removeAll, retainAll
-
Methods inherited from interface java.util.List
containsAll, isEmpty, remove, removeAll, replaceAll, retainAll
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.ObjectList
addAll, addAll, setElements, setElements, sort, unstableSort
-
-
-
-
Constructor Detail
-
ObjectSubList
public ObjectSubList(ObjectList<K> l, int from, int to)
-
-
Method Detail
-
add
public boolean add(K k)
Description copied from class:AbstractObjectList
- Specified by:
add
in interfacejava.util.Collection<K>
- Specified by:
add
in interfacejava.util.List<K>
- Overrides:
add
in classAbstractObjectList<K>
-
add
public void add(int index, K k)
Description copied from class:AbstractObjectList
- Specified by:
add
in interfacejava.util.List<K>
- Overrides:
add
in classAbstractObjectList<K>
-
addAll
public boolean addAll(int index, java.util.Collection<? extends K> c)
Description copied from class:AbstractObjectList
Adds all of the elements in the specified collection to this list (optional operation).- Specified by:
addAll
in interfacejava.util.List<K>
- Overrides:
addAll
in classAbstractObjectList<K>
-
remove
public K remove(int index)
Description copied from class:AbstractObjectList
- Specified by:
remove
in interfacejava.util.List<K>
- Overrides:
remove
in classAbstractObjectList<K>
-
set
public K set(int index, K k)
Description copied from class:AbstractObjectList
- Specified by:
set
in interfacejava.util.List<K>
- Overrides:
set
in classAbstractObjectList<K>
-
size
public int size()
-
getElements
public void getElements(int from, java.lang.Object[] a, int offset, int length)
Description copied from class:AbstractObjectList
Copies (hopefully quickly) elements of this type-specific list into the given array.This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
- Specified by:
getElements
in interfaceObjectList<K>
- Overrides:
getElements
in classAbstractObjectList<K>
- 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
public void removeElements(int from, int to)
Description copied from class:AbstractObjectList
Removes (hopefully quickly) elements of this type-specific list.This is a trivial iterator-based based implementation. It is expected that implementations will override this method with a more optimized version.
- Specified by:
removeElements
in interfaceObjectList<K>
- Overrides:
removeElements
in classAbstractObjectList<K>
- Parameters:
from
- the start index (inclusive).to
- the end index (exclusive).
-
addElements
public void addElements(int index, K[] a, int offset, int length)
Description copied from class:AbstractObjectList
Add (hopefully quickly) elements to this type-specific list.This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
- Specified by:
addElements
in interfaceObjectList<K>
- Overrides:
addElements
in classAbstractObjectList<K>
- 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.
-
setElements
public void setElements(int index, K[] a, int offset, int length)
Description copied from interface:ObjectList
Set (hopefully quickly) elements to match the array given. Sets each in this list to the corresponding elements in the array, as if byListIterator 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.- Specified by:
setElements
in interfaceObjectList<K>
- Overrides:
setElements
in classAbstractObjectList<K>
- Parameters:
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.
-
listIterator
public ObjectListIterator<K> listIterator(int index)
Description copied from class:AbstractObjectList
Returns a type-specific list iterator on the list starting at a given index.- Specified by:
listIterator
in interfacejava.util.List<K>
- Specified by:
listIterator
in interfaceObjectList<K>
- Overrides:
listIterator
in classAbstractObjectList<K>
- See Also:
List.listIterator(int)
-
spliterator
public ObjectSpliterator<K> spliterator()
Description copied from interface:ObjectList
Returns a type-specific spliterator on the elements of this list.List spliterators must report at least
Spliterator.SIZED
andSpliterator.ORDERED
.See
List.spliterator()
for more documentation on the requirements of the returned spliterator.- Specified by:
spliterator
in interfacejava.util.Collection<K>
- Specified by:
spliterator
in interfacejava.lang.Iterable<K>
- Specified by:
spliterator
in interfacejava.util.List<K>
- Specified by:
spliterator
in interfaceObjectCollection<K>
- Specified by:
spliterator
in interfaceObjectIterable<K>
- Specified by:
spliterator
in interfaceObjectList<K>
- Returns:
- a type-specific spliterator on the elements of this collection.
-
subList
public ObjectList<K> subList(int from, int to)
Description copied from interface:ObjectList
Returns a type-specific view of the portion of this list from the indexfrom
, inclusive, to the indexto
, exclusive.- Specified by:
subList
in interfacejava.util.List<K>
- Specified by:
subList
in interfaceObjectList<K>
- Overrides:
subList
in classAbstractObjectList<K>
- See Also:
List.subList(int,int)
-
-