android.support.v4.util
Class SimpleArrayMap<K,V>

java.lang.Object
  extended by android.support.v4.util.SimpleArrayMap<K,V>
Direct Known Subclasses:
ArrayMap

public class SimpleArrayMap<K,V>
extends java.lang.Object

Base implementation of ArrayMap that doesn't include any standard Java container API interoperability. These features are generally heavier-weight ways to interact with the container, so discouraged, but they can be useful to make it easier to use as a drop-in replacement for HashMap. If you don't need them, this class can be preferrable since it doesn't bring in any of the implementation of those APIs, allowing that code to be stripped by ProGuard.


Constructor Summary
SimpleArrayMap()
          Create a new empty ArrayMap.
SimpleArrayMap(int capacity)
          Create a new ArrayMap with a given initial capacity.
SimpleArrayMap(SimpleArrayMap map)
          Create a new ArrayMap with the mappings from the given ArrayMap.
 
Method Summary
 void clear()
          Make the array map empty.
 boolean containsKey(java.lang.Object key)
          Check whether a key exists in the array.
 boolean containsValue(java.lang.Object value)
          Check whether a value exists in the array.
 void ensureCapacity(int minimumCapacity)
          Ensure the array map can hold at least minimumCapacity items.
 boolean equals(java.lang.Object object)
          
 V get(java.lang.Object key)
          Retrieve a value from the array.
 int hashCode()
          
 boolean isEmpty()
          Return true if the array map contains no items.
 K keyAt(int index)
          Return the key at the given index in the array.
 V put(K key, V value)
          Add a new value to the array map.
 void putAll(SimpleArrayMap<? extends K,? extends V> array)
          Perform a put(Object, Object) of all key/value pairs in array
 V remove(java.lang.Object key)
          Remove an existing key from the array map.
 V removeAt(int index)
          Remove the key/value mapping at the given index.
 V setValueAt(int index, V value)
          Set the value at a given index in the array.
 int size()
          Return the number of items in this array map.
 java.lang.String toString()
          
 V valueAt(int index)
          Return the value at the given index in the array.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SimpleArrayMap

public SimpleArrayMap()
Create a new empty ArrayMap. The default capacity of an array map is 0, and will grow once items are added to it.


SimpleArrayMap

public SimpleArrayMap(int capacity)
Create a new ArrayMap with a given initial capacity.


SimpleArrayMap

public SimpleArrayMap(SimpleArrayMap map)
Create a new ArrayMap with the mappings from the given ArrayMap.

Method Detail

clear

public void clear()
Make the array map empty. All storage is released.


ensureCapacity

public void ensureCapacity(int minimumCapacity)
Ensure the array map can hold at least minimumCapacity items.


containsKey

public boolean containsKey(java.lang.Object key)
Check whether a key exists in the array.

Parameters:
key - The key to search for.
Returns:
Returns true if the key exists, else false.

containsValue

public boolean containsValue(java.lang.Object value)
Check whether a value exists in the array. This requires a linear search through the entire array.

Parameters:
value - The value to search for.
Returns:
Returns true if the value exists, else false.

get

public V get(java.lang.Object key)
Retrieve a value from the array.

Parameters:
key - The key of the value to retrieve.
Returns:
Returns the value associated with the given key, or null if there is no such key.

keyAt

public K keyAt(int index)
Return the key at the given index in the array.

Parameters:
index - The desired index, must be between 0 and size()-1.
Returns:
Returns the key stored at the given index.

valueAt

public V valueAt(int index)
Return the value at the given index in the array.

Parameters:
index - The desired index, must be between 0 and size()-1.
Returns:
Returns the value stored at the given index.

setValueAt

public V setValueAt(int index,
                    V value)
Set the value at a given index in the array.

Parameters:
index - The desired index, must be between 0 and size()-1.
value - The new value to store at this index.
Returns:
Returns the previous value at the given index.

isEmpty

public boolean isEmpty()
Return true if the array map contains no items.


put

public V put(K key,
             V value)
Add a new value to the array map.

Parameters:
key - The key under which to store the value. Must not be null. If this key already exists in the array, its value will be replaced.
value - The value to store for the given key.
Returns:
Returns the old value that was stored for the given key, or null if there was no such key.

putAll

public void putAll(SimpleArrayMap<? extends K,? extends V> array)
Perform a put(Object, Object) of all key/value pairs in array

Parameters:
array - The array whose contents are to be retrieved.

remove

public V remove(java.lang.Object key)
Remove an existing key from the array map.

Parameters:
key - The key of the mapping to remove.
Returns:
Returns the value that was stored under the key, or null if there was no such key.

removeAt

public V removeAt(int index)
Remove the key/value mapping at the given index.

Parameters:
index - The desired index, must be between 0 and size()-1.
Returns:
Returns the value that was stored at this index.

size

public int size()
Return the number of items in this array map.


equals

public boolean equals(java.lang.Object object)

This implementation returns false if the object is not a map, or if the maps have different sizes. Otherwise, for each key in this map, values of both maps are compared. If the values for any key are not equal, the method returns false, otherwise it returns true.

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()

Overrides:
hashCode in class java.lang.Object

toString

public java.lang.String toString()

This implementation composes a string by iterating over its mappings. If this map contains itself as a key or a value, the string "(this Map)" will appear in its place.

Overrides:
toString in class java.lang.Object