public abstract class RandomAccessDoubleList extends AbstractDoubleCollection implements DoubleList
DoubleList
s backed
by random access structures like arrays.
Read-only subclasses must override get(int)
and size()
. Mutable subclasses
should also override set(int, double)
. Variably-sized
subclasses should also override add(double)
and removeElementAt(int)
. All other methods
have at least some base implementation derived from
these. Subclasses may choose to override these methods
to provide a more efficient implementation.Modifier and Type | Class and Description |
---|---|
protected static class |
RandomAccessDoubleList.RandomAccessDoubleListIterator |
protected static class |
RandomAccessDoubleList.RandomAccessDoubleSubList |
Modifier | Constructor and Description |
---|---|
protected |
RandomAccessDoubleList()
Constructs an empty list.
|
Modifier and Type | Method and Description |
---|---|
boolean |
add(double element)
Unsupported in this base implementation.
|
void |
add(int index,
double element)
Unsupported in this implementation.
|
boolean |
addAll(int index,
DoubleCollection collection)
Inserts all of the elements in the specified collection into me,
at the specified position (optional operation).
|
boolean |
equals(Object that)
Returns
true iff that is an DoubleList
that contains the same elements in the same order as me. |
abstract double |
get(int index)
Returns the value of the element at the specified position
within me.
|
protected int |
getModCount()
Get my count of structural modifications.
|
int |
hashCode()
Returns my hash code.
|
protected void |
incrModCount()
Increment my count of structural modifications.
|
int |
indexOf(double element)
Returns the index of the first occurrence
of the specified element within me,
or
-1 if I do not contain
the element. |
DoubleIterator |
iterator()
Returns an
iterator over all my elements. |
int |
lastIndexOf(double element)
Returns the index of the last occurrence
of the specified element within me,
or -1 if I do not contain the element.
|
DoubleListIterator |
listIterator()
Returns a
bidirectional iterator
over all my elements, in the appropriate sequence. |
DoubleListIterator |
listIterator(int index)
Returns a
bidirectional iterator
over all my elements, in the appropriate sequence,
starting at the specified position. |
double |
removeElementAt(int index)
Unsupported in this implementation.
|
double |
set(int index,
double element)
Unsupported in this implementation.
|
abstract int |
size()
Returns the number of elements I contain.
|
DoubleList |
subList(int fromIndex,
int toIndex)
Returns a view of the elements within me
between the specified fromIndex, inclusive, and
toIndex, exclusive.
|
String |
toString() |
addAll, clear, contains, containsAll, isEmpty, removeAll, removeElement, retainAll, toArray, toArray
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
addAll, clear, contains, containsAll, isEmpty, removeAll, removeElement, retainAll, toArray, toArray
protected RandomAccessDoubleList()
public abstract double get(int index)
DoubleList
get
in interface DoubleList
index
- the index of the element to returnpublic abstract int size()
DoubleCollection
size
in interface DoubleCollection
size
in class AbstractDoubleCollection
public double removeElementAt(int index)
removeElementAt
in interface DoubleList
index
- the index of the element to removeUnsupportedOperationException
- since this method is not supportedpublic double set(int index, double element)
set
in interface DoubleList
index
- the index of the element to changeelement
- the value to be stored at the specified positionUnsupportedOperationException
- since this method is not supportedpublic void add(int index, double element)
add
in interface DoubleList
index
- the index at which to insert the elementelement
- the value to insertUnsupportedOperationException
- since this method is not supportedpublic boolean add(double element)
AbstractDoubleCollection
add
in interface DoubleCollection
add
in interface DoubleList
add
in class AbstractDoubleCollection
element
- the value whose presence within me is to be ensuredtrue
iff I changed as a result of this callpublic boolean addAll(int index, DoubleCollection collection)
DoubleList
iterator
.addAll
in interface DoubleList
index
- the index at which to insert the first element from
the specified collectioncollection
- the DoubleCollection
of elements to addtrue
iff I changed as a result of this callpublic int indexOf(double element)
DoubleList
-1
if I do not contain
the element.indexOf
in interface DoubleList
element
- the element to search for-1
if no such matching element can be foundpublic int lastIndexOf(double element)
DoubleList
lastIndexOf
in interface DoubleList
element
- the element to search for-1
if no such matching element can be foundpublic DoubleIterator iterator()
DoubleCollection
iterator
over all my elements.
This base interface places no constraints on the order
in which the elements are returned by the returned iterator.iterator
in interface DoubleCollection
iterator
in interface DoubleList
iterator
in class AbstractDoubleCollection
iterator
over all my elements.public DoubleListIterator listIterator()
DoubleList
bidirectional iterator
over all my elements, in the appropriate sequence.listIterator
in interface DoubleList
public DoubleListIterator listIterator(int index)
DoubleList
bidirectional iterator
over all my elements, in the appropriate sequence,
starting at the specified position. The
specified index indicates the first
element that would be returned by an initial
call to the
next
method. An initial call to the
previous
method would return the element with the specified
index minus one.listIterator
in interface DoubleList
public DoubleList subList(int fromIndex, int toIndex)
DoubleList
DoubleList
is backed by me, so that any changes in
the returned list are reflected in me, and vice-versa.
The returned list supports all of the optional operations
that I support.
Note that when fromIndex == toIndex
,
the returned list is initially empty, and when
fromIndex == 0 && toIndex == size()
the returned list is my "improper" sublist, containing all my elements.
The semantics of the returned list become undefined
if I am structurally modified in any way other than
via the returned list.subList
in interface DoubleList
fromIndex
- the smallest index (inclusive) in me that appears in
the returned listtoIndex
- the largest index (exclusive) in me that appears in the
returned listpublic boolean equals(Object that)
DoubleList
true
iff that is an DoubleList
that contains the same elements in the same order as me.
In other words, returns true
iff that is
a DoubleList
that has the same size
as me,
and for which the elements returned by its
iterator
are equal (==
) to
the corresponding elements within me.
(This contract ensures that this method works properly across
different implementations of the DoubleList
interface.)equals
in interface DoubleList
equals
in class Object
that
- the object to compare to metrue
iff that is an DoubleList
that contains the same elements in the same order as mepublic int hashCode()
DoubleList
DoubleList
is defined to be the
result of the following calculation:
int hash = 1; for(DoubleIterator iter = iterator(); iter.hasNext(); ) { double value = iter.next(); hash = 31*hash + (int)(value ^ (value >>> 32)); }This contract ensures that this method is consistent with
equals
and with the
hashCode
method of a List
of Double
s.hashCode
in interface DoubleList
hashCode
in class Object
protected int getModCount()
protected void incrModCount()
Copyright © 2002-2013 The Apache Software Foundation. All Rights Reserved.