|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Objectjava.util.AbstractMap
oracle.adf.view.faces.util.ArrayMap
A Map implementation that stores its contents in a single array. This approach is significantly faster for small sets of data than the use of a HashMap or Hashtable, though potentially much slower for very large sets.
ArrayMap is optimized for many-reads-few-write. In particular, it reallocates its array on any insertion or deletion.
ArrayMap also includes a series of static methods for managing the
Object array. These may be used in place of instantiating an
ArrayMap for clients that don't need a Map implementation.
Clients using these methods must be careful to store the returned
Object array on any mutator method. They also must provide their
own synchronization, if needed. When using these static methods,
clients can opt to search for objects by identity (via
getByIdentity()) instead of equality, while the static
get() method will try identity before equality. This
latter approach is extremely fast but still safe for retrieval of
Strings that have all been interned, especially if misses are
infrequent (since misses do require a scan using Object.equals()).
It's worth remembering that String constants are always interned,
as required by the language specification.
| Nested Class Summary |
| Nested classes inherited from class java.util.Map |
java.util.Map.Entry |
| Constructor Summary | |
ArrayMap()
Creates an empty ArrayMap, preallocating nothing. |
|
ArrayMap(int size)
Creates an ArrayMap, preallocating for a certain size. |
|
ArrayMap(int size,
int increment)
Creates an ArrayMap, preallocating for a certain size. |
|
| Method Summary | |
void |
clear()
Removes all elements from the ArrayMap. |
java.lang.Object |
clone()
Clones the map. |
boolean |
containsKey(java.lang.Object value)
|
boolean |
containsValue(java.lang.Object value)
|
java.util.Set |
entrySet()
|
java.lang.Object |
get(java.lang.Object key)
|
static java.lang.Object |
get(java.lang.Object[] array,
java.lang.Object key)
Gets the object stored with the given key. |
static java.lang.Object |
getByEquality(java.lang.Object[] array,
java.lang.Object key)
Gets the object stored with the given key, using only object equality. |
java.lang.Object |
getByIdentity(java.lang.Object key)
|
static java.lang.Object |
getByIdentity(java.lang.Object[] array,
java.lang.Object key)
Gets the object stored with the given key, using only object identity. |
java.lang.Object |
getKey(int index)
Returns the key at a specific index in the map. |
static java.util.Iterator |
getKeys(java.lang.Object[] array)
Returns an Iterator of keys in the array. |
java.lang.Object |
getValue(int index)
Returns the value at a specific index in the map. |
static java.util.Iterator |
getValues(java.lang.Object[] array)
Returns an Iterator of values in the array. |
java.util.Iterator |
keys()
Returns an enumeration of the keys in this map. |
static java.lang.Object[] |
put(java.lang.Object[] array,
java.lang.Object key,
java.lang.Object value)
Adds the key/value pair to the array, returning a new array if necessary. |
java.lang.Object |
put(java.lang.Object key,
java.lang.Object value)
|
java.lang.Object |
remove(java.lang.Object key)
|
static java.lang.Object[] |
remove(java.lang.Object[] array,
java.lang.Object key)
Removes the value for the key from the array, returning a new array if necessary. |
static java.lang.Object[] |
remove(java.lang.Object[] array,
java.lang.Object key,
boolean reallocate)
Removes the value for the key from the array, returning a new array if necessary. |
int |
size()
|
| Methods inherited from class java.util.AbstractMap |
equals, hashCode, isEmpty, keySet, putAll, toString, values |
| Methods inherited from class java.lang.Object |
finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public ArrayMap()
public ArrayMap(int size)
size - the number of elements to pre-allocate for
public ArrayMap(int size,
int increment)
size - the number of elements to pre-allocate forincrement - the number of additional elements to
allocate for when overruning| Method Detail |
public java.lang.Object getKey(int index)
public java.lang.Object getValue(int index)
public static java.lang.Object get(java.lang.Object[] array,
java.lang.Object key)
public static java.lang.Object getByIdentity(java.lang.Object[] array,
java.lang.Object key)
public static java.lang.Object getByEquality(java.lang.Object[] array,
java.lang.Object key)
public static java.lang.Object[] put(java.lang.Object[] array,
java.lang.Object key,
java.lang.Object value)
public static java.lang.Object[] remove(java.lang.Object[] array,
java.lang.Object key)
public static java.lang.Object[] remove(java.lang.Object[] array,
java.lang.Object key,
boolean reallocate)
public int size()
size in interface java.util.Mappublic boolean containsValue(java.lang.Object value)
containsValue in interface java.util.Mappublic boolean containsKey(java.lang.Object value)
containsKey in interface java.util.Mappublic java.util.Iterator keys()
java.util.Map#keys(),
Iteratorpublic static java.util.Iterator getKeys(java.lang.Object[] array)
public static java.util.Iterator getValues(java.lang.Object[] array)
public java.lang.Object clone()
public java.util.Set entrySet()
entrySet in interface java.util.Mappublic java.lang.Object get(java.lang.Object key)
get in interface java.util.Mappublic java.lang.Object getByIdentity(java.lang.Object key)
public java.lang.Object put(java.lang.Object key,
java.lang.Object value)
put in interface java.util.Mappublic java.lang.Object remove(java.lang.Object key)
remove in interface java.util.Mappublic void clear()
clear in interface java.util.Map
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||