Package com.google.protobuf
Class DoubleArrayList
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- com.google.protobuf.AbstractProtobufList<java.lang.Double>
-
- com.google.protobuf.DoubleArrayList
-
- All Implemented Interfaces:
Internal.DoubleList
,Internal.ProtobufList<java.lang.Double>
,PrimitiveNonBoxingCollection
,java.lang.Iterable<java.lang.Double>
,java.util.Collection<java.lang.Double>
,java.util.List<java.lang.Double>
,java.util.RandomAccess
final class DoubleArrayList extends AbstractProtobufList<java.lang.Double> implements Internal.DoubleList, java.util.RandomAccess, PrimitiveNonBoxingCollection
An implementation ofInternal.DoubleList
on top of a primitive array.
-
-
Field Summary
Fields Modifier and Type Field Description private double[]
array
The backing store for the list.private static DoubleArrayList
EMPTY_LIST
private int
size
The size of the list distinct from the length of the array.-
Fields inherited from class com.google.protobuf.AbstractProtobufList
DEFAULT_CAPACITY
-
-
Constructor Summary
Constructors Modifier Constructor Description (package private)
DoubleArrayList()
Constructs a new mutableDoubleArrayList
with default capacity.private
DoubleArrayList(double[] other, int size, boolean isMutable)
Constructs a new mutableDoubleArrayList
containing the same elements asother
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, java.lang.Double element)
boolean
add(java.lang.Double element)
boolean
addAll(java.util.Collection<? extends java.lang.Double> collection)
void
addDouble(double element)
Likeadd(Double)
but more efficient in that it doesn't box the element.private void
addDouble(int index, double element)
Likeadd(int, Double)
but more efficient in that it doesn't box the element.boolean
contains(java.lang.Object element)
static DoubleArrayList
emptyList()
private void
ensureIndexInRange(int index)
Ensures that the providedindex
is within the range of[0, size]
.boolean
equals(java.lang.Object o)
java.lang.Double
get(int index)
double
getDouble(int index)
LikeList.get(int)
but more efficient in that it doesn't box the returned value.int
hashCode()
int
indexOf(java.lang.Object element)
private java.lang.String
makeOutOfBoundsExceptionMessage(int index)
Internal.DoubleList
mutableCopyWithCapacity(int capacity)
Returns a mutable clone of this list with the specified capacity.java.lang.Double
remove(int index)
protected void
removeRange(int fromIndex, int toIndex)
java.lang.Double
set(int index, java.lang.Double element)
double
setDouble(int index, double element)
LikeList.set(int, Object)
but more efficient in that it doesn't box the element.int
size()
-
Methods inherited from class com.google.protobuf.AbstractProtobufList
addAll, clear, ensureIsMutable, isModifiable, makeImmutable, remove, removeAll, retainAll
-
Methods inherited from class java.util.AbstractList
iterator, lastIndexOf, listIterator, listIterator, subList
-
Methods inherited from class java.util.AbstractCollection
containsAll, isEmpty, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.google.protobuf.Internal.ProtobufList
isModifiable, makeImmutable
-
-
-
-
Field Detail
-
EMPTY_LIST
private static final DoubleArrayList EMPTY_LIST
-
array
private double[] array
The backing store for the list.
-
size
private int size
The size of the list distinct from the length of the array. That is, it is the number of elements set in the list.
-
-
Method Detail
-
emptyList
public static DoubleArrayList emptyList()
-
removeRange
protected void removeRange(int fromIndex, int toIndex)
- Overrides:
removeRange
in classjava.util.AbstractList<java.lang.Double>
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
equals
in interfacejava.util.List<java.lang.Double>
- Overrides:
equals
in classAbstractProtobufList<java.lang.Double>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
hashCode
in interfacejava.util.List<java.lang.Double>
- Overrides:
hashCode
in classAbstractProtobufList<java.lang.Double>
-
mutableCopyWithCapacity
public Internal.DoubleList mutableCopyWithCapacity(int capacity)
Description copied from interface:Internal.DoubleList
Returns a mutable clone of this list with the specified capacity.- Specified by:
mutableCopyWithCapacity
in interfaceInternal.DoubleList
- Specified by:
mutableCopyWithCapacity
in interfaceInternal.ProtobufList<java.lang.Double>
-
get
public java.lang.Double get(int index)
- Specified by:
get
in interfacejava.util.List<java.lang.Double>
- Specified by:
get
in classjava.util.AbstractList<java.lang.Double>
-
getDouble
public double getDouble(int index)
Description copied from interface:Internal.DoubleList
LikeList.get(int)
but more efficient in that it doesn't box the returned value.- Specified by:
getDouble
in interfaceInternal.DoubleList
-
indexOf
public int indexOf(java.lang.Object element)
- Specified by:
indexOf
in interfacejava.util.List<java.lang.Double>
- Overrides:
indexOf
in classjava.util.AbstractList<java.lang.Double>
-
contains
public boolean contains(java.lang.Object element)
- Specified by:
contains
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
contains
in interfacejava.util.List<java.lang.Double>
- Overrides:
contains
in classjava.util.AbstractCollection<java.lang.Double>
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
size
in interfacejava.util.List<java.lang.Double>
- Specified by:
size
in classjava.util.AbstractCollection<java.lang.Double>
-
set
public java.lang.Double set(int index, java.lang.Double element)
- Specified by:
set
in interfacejava.util.List<java.lang.Double>
- Overrides:
set
in classAbstractProtobufList<java.lang.Double>
-
setDouble
public double setDouble(int index, double element)
Description copied from interface:Internal.DoubleList
LikeList.set(int, Object)
but more efficient in that it doesn't box the element.- Specified by:
setDouble
in interfaceInternal.DoubleList
-
add
public boolean add(java.lang.Double element)
- Specified by:
add
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
add
in interfacejava.util.List<java.lang.Double>
- Overrides:
add
in classAbstractProtobufList<java.lang.Double>
-
add
public void add(int index, java.lang.Double element)
- Specified by:
add
in interfacejava.util.List<java.lang.Double>
- Overrides:
add
in classAbstractProtobufList<java.lang.Double>
-
addDouble
public void addDouble(double element)
Likeadd(Double)
but more efficient in that it doesn't box the element.- Specified by:
addDouble
in interfaceInternal.DoubleList
-
addDouble
private void addDouble(int index, double element)
Likeadd(int, Double)
but more efficient in that it doesn't box the element.
-
addAll
public boolean addAll(java.util.Collection<? extends java.lang.Double> collection)
- Specified by:
addAll
in interfacejava.util.Collection<java.lang.Double>
- Specified by:
addAll
in interfacejava.util.List<java.lang.Double>
- Overrides:
addAll
in classAbstractProtobufList<java.lang.Double>
-
remove
public java.lang.Double remove(int index)
- Specified by:
remove
in interfacejava.util.List<java.lang.Double>
- Overrides:
remove
in classAbstractProtobufList<java.lang.Double>
-
ensureIndexInRange
private void ensureIndexInRange(int index)
Ensures that the providedindex
is within the range of[0, size]
. Throws anIndexOutOfBoundsException
if it is not.- Parameters:
index
- the index to verify is in range
-
makeOutOfBoundsExceptionMessage
private java.lang.String makeOutOfBoundsExceptionMessage(int index)
-
-