Package it.unimi.dsi.fastutil.bytes
Class AbstractByteList.ByteSubList
- java.lang.Object
-
- java.util.AbstractCollection<java.lang.Byte>
-
- it.unimi.dsi.fastutil.bytes.AbstractByteCollection
-
- it.unimi.dsi.fastutil.bytes.AbstractByteList
-
- it.unimi.dsi.fastutil.bytes.AbstractByteList.ByteSubList
-
- All Implemented Interfaces:
ByteCollection
,ByteIterable
,ByteList
,ByteStack
,Stack<java.lang.Byte>
,java.io.Serializable
,java.lang.Comparable<java.util.List<? extends java.lang.Byte>>
,java.lang.Iterable<java.lang.Byte>
,java.util.Collection<java.lang.Byte>
,java.util.List<java.lang.Byte>
- Direct Known Subclasses:
AbstractByteList.ByteRandomAccessSubList
- Enclosing class:
- AbstractByteList
public static class AbstractByteList.ByteSubList extends AbstractByteList 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.bytes.AbstractByteList
AbstractByteList.ByteRandomAccessSubList, AbstractByteList.ByteSubList
-
-
Constructor Summary
Constructors Constructor Description ByteSubList(ByteList l, int from, int to)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(byte k)
Ensures that this collection contains the specified element (optional operation).void
add(int index, byte k)
Inserts the specified element at the specified position in this list (optional operation).boolean
addAll(int index, ByteCollection c)
Inserts all of the elements in the specified type-specific collection into this type-specific list at the specified position (optional operation).boolean
addAll(int index, ByteList l)
Inserts all of the elements in the specified type-specific list into this type-specific list at the specified position (optional operation).boolean
addAll(int index, java.util.Collection<? extends java.lang.Byte> c)
Adds all of the elements in the specified collection to this list (optional operation).void
addElements(int index, byte[] a, int offset, int length)
Add (hopefully quickly) elements to this type-specific list.byte
getByte(int index)
Returns the element at the specified position in this list.void
getElements(int from, byte[] a, int offset, int length)
Copies (hopefully quickly) elements of this type-specific list into the given array.ByteListIterator
listIterator(int index)
Returns a type-specific list iterator on the list starting at a given index.boolean
rem(byte k)
Removes a single instance of the specified element from this collection, if it is present (optional operation).byte
removeByte(int index)
Removes the element at the specified position in this list (optional operation).void
removeElements(int from, int to)
Removes (hopefully quickly) elements of this type-specific list.byte
set(int index, byte k)
Replaces the element at the specified position in this list with the specified element (optional operation).void
setElements(int index, byte[] a, int offset, int length)
Set (hopefully quickly) elements to match the array given.int
size()
ByteSpliterator
spliterator()
Returns a type-specific spliterator on the elements of this list.ByteList
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.bytes.AbstractByteList
addAll, addAll, addElements, clear, compareTo, contains, equals, forEach, hashCode, indexOf, iterator, lastIndexOf, listIterator, peekByte, popByte, push, size, toArray, toByteArray, topByte, toString
-
Methods inherited from class it.unimi.dsi.fastutil.bytes.AbstractByteCollection
add, contains, containsAll, containsAll, remove, removeAll, removeAll, retainAll, retainAll, toByteArray
-
Methods inherited from interface it.unimi.dsi.fastutil.bytes.ByteCollection
containsAll, intIterator, intParallelStream, intSpliterator, intStream, parallelStream, removeAll, removeIf, removeIf, removeIf, retainAll, stream, toByteArray
-
Methods inherited from interface it.unimi.dsi.fastutil.bytes.ByteIterable
forEach, forEach
-
Methods inherited from interface it.unimi.dsi.fastutil.bytes.ByteList
add, add, addAll, contains, get, indexOf, lastIndexOf, remove, remove, replaceAll, replaceAll, replaceAll, set, setElements, setElements, sort, sort, unstableSort, unstableSort
-
-
-
-
Constructor Detail
-
ByteSubList
public ByteSubList(ByteList l, int from, int to)
-
-
Method Detail
-
add
public boolean add(byte k)
Description copied from class:AbstractByteList
Ensures that this collection contains the specified element (optional operation).- Specified by:
add
in interfaceByteCollection
- Specified by:
add
in interfaceByteList
- Overrides:
add
in classAbstractByteList
- See Also:
Collection.add(Object)
-
add
public void add(int index, byte k)
Description copied from class:AbstractByteList
Inserts the specified element at the specified position in this list (optional operation).- Specified by:
add
in interfaceByteList
- Overrides:
add
in classAbstractByteList
- See Also:
List.add(int,Object)
-
addAll
public boolean addAll(int index, java.util.Collection<? extends java.lang.Byte> c)
Description copied from class:AbstractByteList
Adds all of the elements in the specified collection to this list (optional operation).- Specified by:
addAll
in interfacejava.util.List<java.lang.Byte>
- Overrides:
addAll
in classAbstractByteList
-
getByte
public byte getByte(int index)
Description copied from interface:ByteList
Returns the element at the specified position in this list.
-
removeByte
public byte removeByte(int index)
Description copied from class:AbstractByteList
Removes the element at the specified position in this list (optional operation).- Specified by:
removeByte
in interfaceByteList
- Overrides:
removeByte
in classAbstractByteList
- See Also:
List.remove(int)
-
set
public byte set(int index, byte k)
Description copied from class:AbstractByteList
Replaces the element at the specified position in this list with the specified element (optional operation).- Specified by:
set
in interfaceByteList
- Overrides:
set
in classAbstractByteList
- See Also:
List.set(int,Object)
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection<java.lang.Byte>
- Specified by:
size
in interfacejava.util.List<java.lang.Byte>
- Specified by:
size
in classjava.util.AbstractCollection<java.lang.Byte>
-
getElements
public void getElements(int from, byte[] a, int offset, int length)
Description copied from class:AbstractByteList
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 interfaceByteList
- Overrides:
getElements
in classAbstractByteList
- 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:AbstractByteList
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 interfaceByteList
- Overrides:
removeElements
in classAbstractByteList
- Parameters:
from
- the start index (inclusive).to
- the end index (exclusive).
-
addElements
public void addElements(int index, byte[] a, int offset, int length)
Description copied from class:AbstractByteList
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 interfaceByteList
- Overrides:
addElements
in classAbstractByteList
- 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, byte[] a, int offset, int length)
Description copied from interface:ByteList
Set (hopefully quickly) elements to match the array given. Sets each in this list to the corresponding elements in the array, as if by
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.ListIterator iter = listIterator(index); int i = 0; while (i < length) { iter.next(); iter.set(a[offset + i++]); }
- Specified by:
setElements
in interfaceByteList
- Overrides:
setElements
in classAbstractByteList
- 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 ByteListIterator listIterator(int index)
Description copied from class:AbstractByteList
Returns a type-specific list iterator on the list starting at a given index.- Specified by:
listIterator
in interfaceByteList
- Specified by:
listIterator
in interfacejava.util.List<java.lang.Byte>
- Overrides:
listIterator
in classAbstractByteList
- See Also:
List.listIterator(int)
-
spliterator
public ByteSpliterator spliterator()
Description copied from interface:ByteList
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 interfaceByteCollection
- Specified by:
spliterator
in interfaceByteIterable
- Specified by:
spliterator
in interfaceByteList
- Specified by:
spliterator
in interfacejava.util.Collection<java.lang.Byte>
- Specified by:
spliterator
in interfacejava.lang.Iterable<java.lang.Byte>
- Specified by:
spliterator
in interfacejava.util.List<java.lang.Byte>
- Returns:
- a type-specific spliterator on the elements of this collection.
-
subList
public ByteList subList(int from, int to)
Description copied from interface:ByteList
Returns a type-specific view of the portion of this list from the indexfrom
, inclusive, to the indexto
, exclusive.- Specified by:
subList
in interfaceByteList
- Specified by:
subList
in interfacejava.util.List<java.lang.Byte>
- Overrides:
subList
in classAbstractByteList
- See Also:
List.subList(int,int)
-
rem
public boolean rem(byte k)
Description copied from class:AbstractByteList
Removes a single instance of the specified element from this collection, if it is present (optional operation).- Specified by:
rem
in interfaceByteCollection
- Overrides:
rem
in classAbstractByteList
- See Also:
List.remove(Object)
-
addAll
public boolean addAll(int index, ByteCollection c)
Description copied from interface:ByteList
Inserts all of the elements in the specified type-specific collection into this type-specific list at the specified position (optional operation).- Specified by:
addAll
in interfaceByteList
- Overrides:
addAll
in classAbstractByteList
- See Also:
List.addAll(int,java.util.Collection)
-
-