Package it.unimi.dsi.fastutil.objects
Class AbstractReferenceBigList.ReferenceSubList<K>
- java.lang.Object
-
- java.util.AbstractCollection<K>
-
- it.unimi.dsi.fastutil.objects.AbstractReferenceCollection<K>
-
- it.unimi.dsi.fastutil.objects.AbstractReferenceBigList<K>
-
- it.unimi.dsi.fastutil.objects.AbstractReferenceBigList.ReferenceSubList<K>
-
- All Implemented Interfaces:
BigList<K>
,ObjectIterable<K>
,ReferenceBigList<K>
,ReferenceCollection<K>
,Size64
,Stack<K>
,java.io.Serializable
,java.lang.Iterable<K>
,java.util.Collection<K>
- Direct Known Subclasses:
AbstractReferenceBigList.ReferenceRandomAccessSubList
- Enclosing class:
- AbstractReferenceBigList<K>
public static class AbstractReferenceBigList.ReferenceSubList<K> extends AbstractReferenceBigList<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.AbstractReferenceBigList
AbstractReferenceBigList.ReferenceRandomAccessSubList<K>, AbstractReferenceBigList.ReferenceSubList<K>
-
-
Constructor Summary
Constructors Constructor Description ReferenceSubList(ReferenceBigList<K> l, long from, long to)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(long index, K k)
Inserts the specified element at the specified position in this big list (optional operation).boolean
add(K k)
boolean
addAll(long index, java.util.Collection<? extends K> c)
Adds all of the elements in the specified collection to this list (optional operation).void
addElements(long index, K[][] a, long offset, long length)
Add (hopefully quickly) elements to this type-specific big list.K
get(long index)
Returns the element at the specified position.void
getElements(long from, java.lang.Object[][] a, long offset, long length)
Copies (hopefully quickly) elements of this type-specific big list into the given big array.ObjectBigListIterator<K>
listIterator(long index)
Returns a type-specific list iterator on this type-specific big list starting at a given index.K
remove(long index)
Removes the element at the specified position.void
removeElements(long from, long to)
Removes (hopefully quickly) elements of this type-specific big list.K
set(long index, K k)
Replaces the element at the specified position in this big list with the specified element (optional operation).long
size64()
Returns the size of this data structure as a long.ObjectSpliterator<K>
spliterator()
Returns a type-specific spliterator on the elements of this big-list.ReferenceBigList<K>
subList(long from, long to)
Returns a type-specific view of the portion of this type-specific big list from the indexfrom
, inclusive, to the indexto
, exclusive.-
Methods inherited from class it.unimi.dsi.fastutil.objects.AbstractReferenceBigList
addAll, addElements, clear, contains, equals, forEach, hashCode, indexOf, iterator, lastIndexOf, listIterator, peek, pop, push, setElements, size, size, top, toString
-
Methods inherited from class java.util.AbstractCollection
containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray
-
Methods inherited from interface java.util.Collection
containsAll, isEmpty, parallelStream, remove, removeAll, removeIf, retainAll, stream, toArray, toArray, toArray
-
Methods inherited from interface it.unimi.dsi.fastutil.objects.ReferenceBigList
addAll, addAll, addAll, addAll, getElements, setElements, setElements
-
-
-
-
Constructor Detail
-
ReferenceSubList
public ReferenceSubList(ReferenceBigList<K> l, long from, long to)
-
-
Method Detail
-
add
public boolean add(K k)
Description copied from class:AbstractReferenceBigList
- Specified by:
add
in interfacejava.util.Collection<K>
- Overrides:
add
in classAbstractReferenceBigList<K>
-
add
public void add(long index, K k)
Description copied from class:AbstractReferenceBigList
Inserts the specified element at the specified position in this big list (optional operation).
-
addAll
public boolean addAll(long index, java.util.Collection<? extends K> c)
Description copied from class:AbstractReferenceBigList
Adds all of the elements in the specified collection to this list (optional operation).- Specified by:
addAll
in interfaceBigList<K>
- Overrides:
addAll
in classAbstractReferenceBigList<K>
- Parameters:
index
- index at which to insert the first element from the specified collection.c
- collection containing elements to be added to this big list.- Returns:
true
if this big list changed as a result of the call- See Also:
List.addAll(int, Collection)
-
get
public K get(long index)
Description copied from interface:BigList
Returns the element at the specified position.
-
remove
public K remove(long index)
Description copied from class:AbstractReferenceBigList
Removes the element at the specified position.
-
set
public K set(long index, K k)
Description copied from class:AbstractReferenceBigList
Replaces the element at the specified position in this big list with the specified element (optional operation).
-
size64
public long size64()
Description copied from interface:Size64
Returns the size of this data structure as a long.
-
getElements
public void getElements(long from, java.lang.Object[][] a, long offset, long length)
Description copied from class:AbstractReferenceBigList
Copies (hopefully quickly) elements of this type-specific big list into the given big 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 interfaceReferenceBigList<K>
- Overrides:
getElements
in classAbstractReferenceBigList<K>
- Parameters:
from
- the start index (inclusive).a
- the destination big array.offset
- the offset into the destination big array where to store the first element copied.length
- the number of elements to be copied.
-
removeElements
public void removeElements(long from, long to)
Description copied from class:AbstractReferenceBigList
Removes (hopefully quickly) elements of this type-specific big list.This is a trivial iterator-based implementation. It is expected that implementations will override this method with a more optimized version.
- Specified by:
removeElements
in interfaceReferenceBigList<K>
- Overrides:
removeElements
in classAbstractReferenceBigList<K>
- Parameters:
from
- the start index (inclusive).to
- the end index (exclusive).
-
addElements
public void addElements(long index, K[][] a, long offset, long length)
Description copied from class:AbstractReferenceBigList
Add (hopefully quickly) elements to this type-specific big 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 interfaceReferenceBigList<K>
- Overrides:
addElements
in classAbstractReferenceBigList<K>
- Parameters:
index
- the index at which to add elements.a
- the big array containing the elements.offset
- the offset of the first element to add.length
- the number of elements to add.
-
listIterator
public ObjectBigListIterator<K> listIterator(long index)
Description copied from class:AbstractReferenceBigList
Returns a type-specific list iterator on this type-specific big list starting at a given index.- Specified by:
listIterator
in interfaceBigList<K>
- Specified by:
listIterator
in interfaceReferenceBigList<K>
- Overrides:
listIterator
in classAbstractReferenceBigList<K>
- Parameters:
index
- index of first element to be returned from the big-list iterator.- Returns:
- a big-list iterator of the elements in this big list, starting at the specified position in this big list.
- See Also:
BigList.listIterator(long)
-
spliterator
public ObjectSpliterator<K> spliterator()
Description copied from interface:ReferenceBigList
Returns a type-specific spliterator on the elements of this big-list.BigList spliterators must report at least
Spliterator.SIZED
andSpliterator.ORDERED
.See
List.spliterator()
for more documentation on the requirements of the returned spliterator (despiteBigList
not being aList
, most of the same requirements apply.- Specified by:
spliterator
in interfacejava.util.Collection<K>
- Specified by:
spliterator
in interfacejava.lang.Iterable<K>
- Specified by:
spliterator
in interfaceObjectIterable<K>
- Specified by:
spliterator
in interfaceReferenceBigList<K>
- Specified by:
spliterator
in interfaceReferenceCollection<K>
- Returns:
- a type-specific spliterator on the elements of this collection.
-
subList
public ReferenceBigList<K> subList(long from, long to)
Description copied from interface:ReferenceBigList
Returns a type-specific view of the portion of this type-specific big list from the indexfrom
, inclusive, to the indexto
, exclusive.- Specified by:
subList
in interfaceBigList<K>
- Specified by:
subList
in interfaceReferenceBigList<K>
- Overrides:
subList
in classAbstractReferenceBigList<K>
- Parameters:
from
- the starting element (inclusive).to
- the ending element (exclusive).- Returns:
- a big sublist view of this big list.
- See Also:
BigList.subList(long,long)
-
-