public final class FieldArray
extends java.lang.Object
implements java.lang.Cloneable
android.util.SparseArray
with the minimal API
for storing FieldData
objects.
This class is an internal implementation detail of nano and should not
be called directly by clients.
Based on android.support.v4.util.SpareArrayCompat
.
Modifier and Type | Field and Description |
---|---|
private static FieldData |
DELETED |
private FieldData[] |
mData |
private int[] |
mFieldNumbers |
private boolean |
mGarbage |
private int |
mSize |
Constructor and Description |
---|
FieldArray()
Creates a new FieldArray containing no fields.
|
FieldArray(int initialCapacity)
Creates a new FieldArray containing no mappings that will not
require any additional memory allocation to store the specified
number of mappings.
|
Modifier and Type | Method and Description |
---|---|
private boolean |
arrayEquals(FieldData[] a,
FieldData[] b,
int size) |
private boolean |
arrayEquals(int[] a,
int[] b,
int size) |
private int |
binarySearch(int value) |
FieldArray |
clone() |
(package private) FieldData |
dataAt(int index)
Given an index in the range
0...size()-1 , returns
the value from the index th key-value mapping that this
FieldArray stores. |
boolean |
equals(java.lang.Object o) |
private void |
gc() |
(package private) FieldData |
get(int fieldNumber)
Gets the FieldData mapped from the specified fieldNumber, or
null
if no such mapping has been made. |
int |
hashCode() |
private int |
idealByteArraySize(int need) |
private int |
idealIntArraySize(int need) |
boolean |
isEmpty() |
(package private) void |
put(int fieldNumber,
FieldData data)
Adds a mapping from the specified fieldNumber to the specified data,
replacing the previous mapping if there was one.
|
(package private) void |
remove(int fieldNumber)
Removes the data from the specified fieldNumber, if there was any.
|
(package private) int |
size()
Returns the number of key-value mappings that this FieldArray
currently stores.
|
private static final FieldData DELETED
private boolean mGarbage
private int[] mFieldNumbers
private FieldData[] mData
private int mSize
FieldArray()
FieldArray(int initialCapacity)
FieldData get(int fieldNumber)
null
if no such mapping has been made.void remove(int fieldNumber)
private void gc()
void put(int fieldNumber, FieldData data)
int size()
public boolean isEmpty()
FieldData dataAt(int index)
0...size()-1
, returns
the value from the index
th key-value mapping that this
FieldArray stores.public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
private int idealIntArraySize(int need)
private int idealByteArraySize(int need)
private int binarySearch(int value)
private boolean arrayEquals(int[] a, int[] b, int size)
public final FieldArray clone()
clone
in class java.lang.Object