it.unimi.dsi.fastutil.doubles
Class AbstractDoubleBigList.DoubleSubList

java.lang.Object
  extended by java.util.AbstractCollection<Double>
      extended by it.unimi.dsi.fastutil.doubles.AbstractDoubleCollection
          extended by it.unimi.dsi.fastutil.doubles.AbstractDoubleBigList
              extended by it.unimi.dsi.fastutil.doubles.AbstractDoubleBigList.DoubleSubList
All Implemented Interfaces:
BigList<Double>, DoubleBigList, DoubleCollection, DoubleIterable, DoubleStack, Size64, Stack<Double>, Serializable, Comparable<BigList<? extends Double>>, Iterable<Double>, Collection<Double>
Enclosing class:
AbstractDoubleBigList

public static class AbstractDoubleBigList.DoubleSubList
extends AbstractDoubleBigList
implements Serializable

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleBigList
AbstractDoubleBigList.DoubleSubList
 
Field Summary
static long serialVersionUID
           
 
Constructor Summary
AbstractDoubleBigList.DoubleSubList(DoubleBigList l, long from, long to)
           
 
Method Summary
 boolean add(double k)
           
 void add(long index, double k)
           
 boolean addAll(long index, Collection<? extends Double> c)
          Inserts all of the elements in the specified collection into this big list at the specified position (optional operation).
 boolean addAll(long index, DoubleCollection c)
          Delegates to a more generic method.
 boolean addAll(long index, DoubleList l)
           
 void addElements(long index, double[][] a, long offset, long length)
          Adds elements to this type-specific big list one-by-one.
 void clear()
           
 double getDouble(long index)
           
 void getElements(long from, double[][] a, long offset, long length)
          Copies element of this type-specific big list into the given big array one-by-one.
 DoubleBigListIterator listIterator(long index)
          Returns a type-specific list iterator on this type-specific big list starting at a given index.
 boolean rem(double k)
          Note that this method should be called remove(), but the clash with the similarly named index-based method in the List interface forces us to use a distinguished name.
 boolean remove(Object o)
          Delegates to the type-specific rem() method.
 double removeDouble(long index)
           
 void removeElements(long from, long to)
          Removes elements of this type-specific big list one-by-one.
 double set(long index, double k)
           
 long size64()
          Returns the size of this data structure as a long.
 DoubleBigList subList(long from, long to)
          Returns a type-specific view of the portion of this type-specific big list from the index from, inclusive, to the index to, exclusive.
 
Methods inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleBigList
add, addAll, addAll, addAll, addAll, addAll, addElements, compareTo, contains, equals, get, getDouble, hashCode, indexOf, indexOf, iterator, lastIndexOf, lastIndexOf, listIterator, listIterator, peek, peekDouble, pop, popDouble, push, push, remove, remove, removeDouble, set, set, size, size, size, top, topDouble, toString
 
Methods inherited from class it.unimi.dsi.fastutil.doubles.AbstractDoubleCollection
add, contains, containsAll, containsAll, doubleIterator, isEmpty, rem, removeAll, removeAll, retainAll, retainAll, toArray, toArray, toArray, toDoubleArray, toDoubleArray
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface it.unimi.dsi.fastutil.doubles.DoubleCollection
containsAll, doubleIterator, removeAll, retainAll, toArray, toArray, toDoubleArray, toDoubleArray
 
Methods inherited from interface java.util.Collection
add, contains, containsAll, isEmpty, removeAll, retainAll, toArray
 
Methods inherited from interface it.unimi.dsi.fastutil.Stack
isEmpty
 

Field Detail

serialVersionUID

public static final long serialVersionUID
See Also:
Constant Field Values
Constructor Detail

AbstractDoubleBigList.DoubleSubList

public AbstractDoubleBigList.DoubleSubList(DoubleBigList l,
                                           long from,
                                           long to)
Method Detail

add

public boolean add(double k)
Specified by:
add in interface DoubleCollection
Overrides:
add in class AbstractDoubleBigList
See Also:
Collection.add(Object)

add

public void add(long index,
                double k)
Specified by:
add in interface DoubleBigList
Overrides:
add in class AbstractDoubleBigList
See Also:
List.add(int,Object)

addAll

public boolean addAll(long index,
                      Collection<? extends Double> c)
Description copied from interface: BigList
Inserts all of the elements in the specified collection into this big list at the specified position (optional operation).

Specified by:
addAll in interface BigList<Double>
Overrides:
addAll in class AbstractDoubleBigList
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)

getDouble

public double getDouble(long index)
Specified by:
getDouble in interface DoubleBigList
See Also:
BigList.get(long)

removeDouble

public double removeDouble(long index)
Specified by:
removeDouble in interface DoubleBigList
Overrides:
removeDouble in class AbstractDoubleBigList
See Also:
BigList.remove(long)

set

public double set(long index,
                  double k)
Specified by:
set in interface DoubleBigList
Overrides:
set in class AbstractDoubleBigList
See Also:
BigList.set(long,Object)

clear

public void clear()
Specified by:
clear in interface Collection<Double>
Overrides:
clear in class AbstractCollection<Double>

size64

public long size64()
Description copied from interface: Size64
Returns the size of this data structure as a long.

Specified by:
size64 in interface Size64
Returns:
the size of this data structure.

getElements

public void getElements(long from,
                        double[][] a,
                        long offset,
                        long length)
Description copied from class: AbstractDoubleBigList
Copies element of this type-specific big list into the given big array one-by-one.

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 interface DoubleBigList
Overrides:
getElements in class AbstractDoubleBigList
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: AbstractDoubleBigList
Removes elements of this type-specific big list one-by-one.

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 interface DoubleBigList
Overrides:
removeElements in class AbstractDoubleBigList
Parameters:
from - the start index (inclusive).
to - the end index (exclusive).

addElements

public void addElements(long index,
                        double[][] a,
                        long offset,
                        long length)
Description copied from class: AbstractDoubleBigList
Adds elements to this type-specific big list one-by-one.

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 interface DoubleBigList
Overrides:
addElements in class AbstractDoubleBigList
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 DoubleBigListIterator listIterator(long index)
Description copied from interface: DoubleBigList
Returns a type-specific list iterator on this type-specific big list starting at a given index.

Specified by:
listIterator in interface BigList<Double>
Specified by:
listIterator in interface DoubleBigList
Overrides:
listIterator in class AbstractDoubleBigList
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)

subList

public DoubleBigList subList(long from,
                             long to)
Description copied from interface: DoubleBigList
Returns a type-specific view of the portion of this type-specific big list from the index from, inclusive, to the index to, exclusive.

Note that this specification strengthens the one given in BigList.subList(long,long).

Specified by:
subList in interface BigList<Double>
Specified by:
subList in interface DoubleBigList
Overrides:
subList in class AbstractDoubleBigList
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)

rem

public boolean rem(double k)
Description copied from interface: DoubleCollection
Note that this method should be called remove(), but the clash with the similarly named index-based method in the List interface forces us to use a distinguished name. For simplicity, the set interfaces reinstates remove().

Specified by:
rem in interface DoubleCollection
Overrides:
rem in class AbstractDoubleBigList
See Also:
Collection.remove(Object)

remove

public boolean remove(Object o)
Description copied from class: AbstractDoubleCollection
Delegates to the type-specific rem() method.

Specified by:
remove in interface Collection<Double>
Overrides:
remove in class AbstractDoubleCollection

addAll

public boolean addAll(long index,
                      DoubleCollection c)
Description copied from class: AbstractDoubleBigList
Delegates to a more generic method.

Specified by:
addAll in interface DoubleBigList
Overrides:
addAll in class AbstractDoubleBigList
See Also:
List.addAll(int,java.util.Collection)

addAll

public boolean addAll(long index,
                      DoubleList l)