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.IntListon top of a primitive array.
-
-
Field Summary
Fields Modifier and Type Field Description private int[]arrayThe backing store for the list.private static IntArrayListEMPTY_LISTprivate intsizeThe 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 mutableIntArrayListwith default capacity.privateIntArrayList(int[] other, int size, boolean isMutable)Constructs a new mutableIntArrayListcontaining the same elements asother.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, java.lang.Integer element)booleanadd(java.lang.Integer element)booleanaddAll(java.util.Collection<? extends java.lang.Integer> collection)voidaddInt(int element)Likeadd(Integer)but more efficient in that it doesn't box the element.private voidaddInt(int index, int element)Likeadd(int, Integer)but more efficient in that it doesn't box the element.booleancontains(java.lang.Object element)static IntArrayListemptyList()private voidensureIndexInRange(int index)Ensures that the providedindexis within the range of[0, size].booleanequals(java.lang.Object o)java.lang.Integerget(int index)intgetInt(int index)LikeList.get(int)but more efficient in that it doesn't box the returned value.inthashCode()intindexOf(java.lang.Object element)private java.lang.StringmakeOutOfBoundsExceptionMessage(int index)Internal.IntListmutableCopyWithCapacity(int capacity)Returns a mutable clone of this list with the specified capacity.java.lang.Integerremove(int index)protected voidremoveRange(int fromIndex, int toIndex)java.lang.Integerset(int index, java.lang.Integer element)intsetInt(int index, int element)LikeList.set(int, Object)but more efficient in that it doesn't box the element.intsize()-
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:
removeRangein classjava.util.AbstractList<java.lang.Integer>
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equalsin interfacejava.util.Collection<java.lang.Integer>- Specified by:
equalsin interfacejava.util.List<java.lang.Integer>- Overrides:
equalsin classAbstractProtobufList<java.lang.Integer>
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacejava.util.Collection<java.lang.Integer>- Specified by:
hashCodein interfacejava.util.List<java.lang.Integer>- Overrides:
hashCodein classAbstractProtobufList<java.lang.Integer>
-
mutableCopyWithCapacity
public Internal.IntList mutableCopyWithCapacity(int capacity)
Description copied from interface:Internal.IntListReturns a mutable clone of this list with the specified capacity.- Specified by:
mutableCopyWithCapacityin interfaceInternal.IntList- Specified by:
mutableCopyWithCapacityin interfaceInternal.ProtobufList<java.lang.Integer>
-
get
public java.lang.Integer get(int index)
- Specified by:
getin interfacejava.util.List<java.lang.Integer>- Specified by:
getin classjava.util.AbstractList<java.lang.Integer>
-
getInt
public int getInt(int index)
Description copied from interface:Internal.IntListLikeList.get(int)but more efficient in that it doesn't box the returned value.- Specified by:
getIntin interfaceInternal.IntList
-
indexOf
public int indexOf(java.lang.Object element)
- Specified by:
indexOfin interfacejava.util.List<java.lang.Integer>- Overrides:
indexOfin classjava.util.AbstractList<java.lang.Integer>
-
contains
public boolean contains(java.lang.Object element)
- Specified by:
containsin interfacejava.util.Collection<java.lang.Integer>- Specified by:
containsin interfacejava.util.List<java.lang.Integer>- Overrides:
containsin classjava.util.AbstractCollection<java.lang.Integer>
-
size
public int size()
- Specified by:
sizein interfacejava.util.Collection<java.lang.Integer>- Specified by:
sizein interfacejava.util.List<java.lang.Integer>- Specified by:
sizein classjava.util.AbstractCollection<java.lang.Integer>
-
set
public java.lang.Integer set(int index, java.lang.Integer element)- Specified by:
setin interfacejava.util.List<java.lang.Integer>- Overrides:
setin classAbstractProtobufList<java.lang.Integer>
-
setInt
public int setInt(int index, int element)Description copied from interface:Internal.IntListLikeList.set(int, Object)but more efficient in that it doesn't box the element.- Specified by:
setIntin interfaceInternal.IntList
-
add
public boolean add(java.lang.Integer element)
- Specified by:
addin interfacejava.util.Collection<java.lang.Integer>- Specified by:
addin interfacejava.util.List<java.lang.Integer>- Overrides:
addin classAbstractProtobufList<java.lang.Integer>
-
add
public void add(int index, java.lang.Integer element)- Specified by:
addin interfacejava.util.List<java.lang.Integer>- Overrides:
addin 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:
addIntin 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:
addAllin interfacejava.util.Collection<java.lang.Integer>- Specified by:
addAllin interfacejava.util.List<java.lang.Integer>- Overrides:
addAllin classAbstractProtobufList<java.lang.Integer>
-
remove
public java.lang.Integer remove(int index)
- Specified by:
removein interfacejava.util.List<java.lang.Integer>- Overrides:
removein classAbstractProtobufList<java.lang.Integer>
-
ensureIndexInRange
private void ensureIndexInRange(int index)
Ensures that the providedindexis within the range of[0, size]. Throws anIndexOutOfBoundsExceptionif it is not.- Parameters:
index- the index to verify is in range
-
makeOutOfBoundsExceptionMessage
private java.lang.String makeOutOfBoundsExceptionMessage(int index)
-
-