public class SparseArray<E>
extends java.lang.Object
Constructor and Description |
---|
SparseArray()
Creates a new SparseArray containing no mappings.
|
SparseArray(int initialCapacity)
Creates a new SparseArray containing no mappings that will not
require any additional memory allocation to store the specified
number of mappings.
|
Modifier and Type | Method and Description |
---|---|
void |
append(int key,
E value)
Puts a key/value pair into the array, optimizing for the case where
the key is greater than all existing keys in the array.
|
void |
clear()
Removes all key-value mappings from this SparseArray.
|
void |
delete(int key)
Removes the mapping from the specified key, if there was any.
|
E |
get(int key)
Gets the Object mapped from the specified key, or
null
if no such mapping has been made. |
E |
get(int key,
E valueIfKeyNotFound)
Gets the Object mapped from the specified key, or the specified Object
if no such mapping has been made.
|
SparseArray<E> |
getUnmodifiable() |
int |
indexOfKey(int key)
Returns the index for which
keyAt(int) would return the
specified key, or a negative number if the specified
key is not mapped. |
int |
indexOfValue(E value)
Returns an index for which
valueAt(int) would return the
specified key, or a negative number if no keys map to the
specified value. |
int |
keyAt(int index)
Given an index in the range
0...size()-1 , returns
the key from the index th key-value mapping that this
SparseArray stores. |
void |
put(int key,
E value)
Adds a mapping from the specified key to the specified value,
replacing the previous mapping from the specified key if there
was one.
|
void |
remove(int key)
Alias for
delete(int) . |
void |
setValueAt(int index,
E value)
Given an index in the range
0...size()-1 , sets a new
value for the index th key-value mapping that this
SparseArray stores. |
int |
size()
Returns the number of key-value mappings that this SparseArray
currently stores.
|
E |
valueAt(int index)
Given an index in the range
0...size()-1 , returns
the value from the index th key-value mapping that this
SparseArray stores. |
public SparseArray()
public SparseArray(int initialCapacity)
public E get(int key)
null
if no such mapping has been made.public E get(int key, E valueIfKeyNotFound)
public void delete(int key)
public void remove(int key)
delete(int)
.public void put(int key, E value)
public int size()
public int keyAt(int index)
0...size()-1
, returns
the key from the index
th key-value mapping that this
SparseArray stores.public E valueAt(int index)
0...size()-1
, returns
the value from the index
th key-value mapping that this
SparseArray stores.public void setValueAt(int index, E value)
0...size()-1
, sets a new
value for the index
th key-value mapping that this
SparseArray stores.public int indexOfKey(int key)
keyAt(int)
would return the
specified key, or a negative number if the specified
key is not mapped.public int indexOfValue(E value)
valueAt(int)
would return the
specified key, or a negative number if no keys map to the
specified value.
Beware that this is a linear search, unlike lookups by key,
and that multiple keys can map to the same value and this will
find only one of them.public void clear()
public void append(int key, E value)
public SparseArray<E> getUnmodifiable()