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.
|
void |
ensureCapacity(int capacity)
Increases the size of the underlying storage if needed, to ensure that it can
hold the specified number of items without having to allocate additional memory
|
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.
|
java.util.List<E> |
getValues() |
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 indexth 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 indexth 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 indexth 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 indexth key-value mapping that this
SparseArray stores.public E valueAt(int index)
0...size()-1, returns
the value from the indexth key-value mapping that this
SparseArray stores.public void setValueAt(int index,
E value)
0...size()-1, sets a new
value for the indexth 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 void ensureCapacity(int capacity)
capacity - the number of itemspublic java.util.List<E> getValues()