Package com.google.protobuf
Class IntArrayList
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- com.google.protobuf.AbstractProtobufList<java.lang.Integer>
-
- com.google.protobuf.IntArrayList
-
- All Implemented Interfaces:
Internal.IntList
,Internal.ProtobufList<java.lang.Integer>
,PrimitiveNonBoxingCollection
,java.lang.Iterable<java.lang.Integer>
,java.util.Collection<java.lang.Integer>
,java.util.List<java.lang.Integer>
,java.util.RandomAccess
final class IntArrayList extends AbstractProtobufList<java.lang.Integer> implements Internal.IntList, java.util.RandomAccess, PrimitiveNonBoxingCollection
An implementation ofInternal.IntList
on top of a primitive array.
-
-
Field Summary
Fields Modifier and Type Field Description private int[]
array
The backing store for the list.private static IntArrayList
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)
IntArrayList()
Constructs a new mutableIntArrayList
with default capacity.private
IntArrayList(int[] other, int size)
Constructs a new mutableIntArrayList
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.Integer element)
boolean
add(java.lang.Integer element)
boolean
addAll(java.util.Collection<? extends java.lang.Integer> collection)
void
addInt(int element)
Likeadd(Integer)
but more efficient in that it doesn't box the element.private void
addInt(int index, int element)
Likeadd(int, Integer)
but more efficient in that it doesn't box the element.boolean
contains(java.lang.Object element)
static IntArrayList
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.Integer
get(int index)
int
getInt(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.IntList
mutableCopyWithCapacity(int capacity)
Returns a mutable clone of this list with the specified capacity.java.lang.Integer
remove(int index)
protected void
removeRange(int fromIndex, int toIndex)
java.lang.Integer
set(int index, java.lang.Integer element)
int
setInt(int index, int 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 IntArrayList EMPTY_LIST
-
array
private int[] 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 IntArrayList emptyList()
-
removeRange
protected void removeRange(int fromIndex, int toIndex)
- Overrides:
removeRange
in classjava.util.AbstractList<java.lang.Integer>
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equals
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
equals
in interfacejava.util.List<java.lang.Integer>
- Overrides:
equals
in classAbstractProtobufList<java.lang.Integer>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
hashCode
in interfacejava.util.List<java.lang.Integer>
- Overrides:
hashCode
in classAbstractProtobufList<java.lang.Integer>
-
mutableCopyWithCapacity
public Internal.IntList mutableCopyWithCapacity(int capacity)
Description copied from interface:Internal.IntList
Returns a mutable clone of this list with the specified capacity.- Specified by:
mutableCopyWithCapacity
in interfaceInternal.IntList
- Specified by:
mutableCopyWithCapacity
in interfaceInternal.ProtobufList<java.lang.Integer>
-
get
public java.lang.Integer get(int index)
- Specified by:
get
in interfacejava.util.List<java.lang.Integer>
- Specified by:
get
in classjava.util.AbstractList<java.lang.Integer>
-
getInt
public int getInt(int index)
Description copied from interface:Internal.IntList
LikeList.get(int)
but more efficient in that it doesn't box the returned value.- Specified by:
getInt
in interfaceInternal.IntList
-
indexOf
public int indexOf(java.lang.Object element)
- Specified by:
indexOf
in interfacejava.util.List<java.lang.Integer>
- Overrides:
indexOf
in classjava.util.AbstractList<java.lang.Integer>
-
contains
public boolean contains(java.lang.Object element)
- Specified by:
contains
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
contains
in interfacejava.util.List<java.lang.Integer>
- Overrides:
contains
in classjava.util.AbstractCollection<java.lang.Integer>
-
size
public int size()
- Specified by:
size
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
size
in interfacejava.util.List<java.lang.Integer>
- Specified by:
size
in classjava.util.AbstractCollection<java.lang.Integer>
-
set
public java.lang.Integer set(int index, java.lang.Integer element)
- Specified by:
set
in interfacejava.util.List<java.lang.Integer>
- Overrides:
set
in classAbstractProtobufList<java.lang.Integer>
-
setInt
public int setInt(int index, int element)
Description copied from interface:Internal.IntList
LikeList.set(int, Object)
but more efficient in that it doesn't box the element.- Specified by:
setInt
in interfaceInternal.IntList
-
add
public boolean add(java.lang.Integer element)
- Specified by:
add
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
add
in interfacejava.util.List<java.lang.Integer>
- Overrides:
add
in classAbstractProtobufList<java.lang.Integer>
-
add
public void add(int index, java.lang.Integer element)
- Specified by:
add
in interfacejava.util.List<java.lang.Integer>
- Overrides:
add
in classAbstractProtobufList<java.lang.Integer>
-
addInt
public void addInt(int element)
Likeadd(Integer)
but more efficient in that it doesn't box the element.- Specified by:
addInt
in interfaceInternal.IntList
-
addInt
private void addInt(int index, int element)
Likeadd(int, Integer)
but more efficient in that it doesn't box the element.
-
addAll
public boolean addAll(java.util.Collection<? extends java.lang.Integer> collection)
- Specified by:
addAll
in interfacejava.util.Collection<java.lang.Integer>
- Specified by:
addAll
in interfacejava.util.List<java.lang.Integer>
- Overrides:
addAll
in classAbstractProtobufList<java.lang.Integer>
-
remove
public java.lang.Integer remove(int index)
- Specified by:
remove
in interfacejava.util.List<java.lang.Integer>
- Overrides:
remove
in classAbstractProtobufList<java.lang.Integer>
-
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)
-
-