public class ArrayMap<K,V> extends Object implements Iterable<ObjectMap.Entry<K,V>>
gets
do a comparison for each key in the map. This is slower than a typical hash map
implementation, but may be acceptable for small maps and has the benefits that keys and values can be accessed by index, which
makes iteration fast. Like Array
, if ordered is false, this class avoids a memory copy when removing elements (the last
element is moved to the removed element's position).Modifier and Type | Class and Description |
---|---|
static class |
ArrayMap.Entries<K,V> |
static class |
ArrayMap.Keys<K> |
static class |
ArrayMap.Values<V> |
Modifier and Type | Field and Description |
---|---|
K[] |
keys |
boolean |
ordered |
int |
size |
V[] |
values |
Constructor and Description |
---|
ArrayMap()
Creates an ordered map with a capacity of 16.
|
ArrayMap(ArrayMap array)
Creates a new map containing the elements in the specified map.
|
ArrayMap(boolean ordered,
int capacity) |
ArrayMap(boolean ordered,
int capacity,
Class keyArrayType,
Class valueArrayType)
|
ArrayMap(Class keyArrayType,
Class valueArrayType)
|
ArrayMap(int capacity)
Creates an ordered map with the specified capacity.
|
Modifier and Type | Method and Description |
---|---|
void |
clear() |
void |
clear(int maximumCapacity)
Clears the map and reduces the size of the backing arrays to be the specified capacity if they are larger.
|
boolean |
containsKey(K key) |
boolean |
containsValue(V value,
boolean identity) |
void |
ensureCapacity(int additionalCapacity)
Increases the size of the backing arrays to accommodate the specified number of additional entries.
|
ArrayMap.Entries<K,V> |
entries()
Returns an iterator for the entries in the map.
|
boolean |
equals(Object obj) |
K |
firstKey() |
V |
firstValue() |
V |
get(K key)
Returns the value for the specified key.
|
K |
getKey(V value,
boolean identity)
Returns the key for the specified value.
|
K |
getKeyAt(int index) |
V |
getValueAt(int index) |
int |
hashCode() |
int |
indexOfKey(K key) |
int |
indexOfValue(V value,
boolean identity) |
void |
insert(int index,
K key,
V value) |
Iterator<ObjectMap.Entry<K,V>> |
iterator() |
ArrayMap.Keys<K> |
keys()
Returns an iterator for the keys in the map.
|
K |
peekKey()
Returns the last key.
|
V |
peekValue()
Returns the last value.
|
int |
put(K key,
V value) |
int |
put(K key,
V value,
int index) |
void |
putAll(ArrayMap map) |
void |
putAll(ArrayMap map,
int offset,
int length) |
void |
removeIndex(int index)
Removes and returns the key/values pair at the specified index.
|
V |
removeKey(K key) |
boolean |
removeValue(V value,
boolean identity) |
void |
reverse() |
void |
setKey(int index,
K key) |
void |
setValue(int index,
V value) |
void |
shrink()
Reduces the size of the backing arrays to the size of the actual number of entries.
|
void |
shuffle() |
String |
toString() |
void |
truncate(int newSize)
Reduces the size of the arrays to the specified size.
|
ArrayMap.Values<V> |
values()
Returns an iterator for the values in the map.
|
forEach, spliterator
public K[] keys
public V[] values
public int size
public boolean ordered
public ArrayMap()
public ArrayMap(int capacity)
public ArrayMap(boolean ordered, int capacity)
ordered
- If false, methods that remove elements may change the order of other elements in the arrays, which avoids a
memory copy.capacity
- Any elements added beyond this will cause the backing arrays to be grown.public ArrayMap(boolean ordered, int capacity, Class keyArrayType, Class valueArrayType)
ordered
- If false, methods that remove elements may change the order of other elements in the arrays, which avoids a
memory copy.capacity
- Any elements added beyond this will cause the backing arrays to be grown.public ArrayMap(ArrayMap array)
public void putAll(ArrayMap map)
public void putAll(ArrayMap map, int offset, int length)
public V get(K key)
public K getKey(V value, boolean identity)
identity
- If true, == comparison will be used. If false, .equals() comparison will be used.public K getKeyAt(int index)
public V getValueAt(int index)
public K firstKey()
public V firstValue()
public void setKey(int index, K key)
public void setValue(int index, V value)
public boolean containsKey(K key)
public boolean containsValue(V value, boolean identity)
identity
- If true, == comparison will be used. If false, .equals() comparison will be used.public int indexOfKey(K key)
public int indexOfValue(V value, boolean identity)
public boolean removeValue(V value, boolean identity)
public void removeIndex(int index)
public K peekKey()
public V peekValue()
public void clear(int maximumCapacity)
public void clear()
public void shrink()
public void ensureCapacity(int additionalCapacity)
public void reverse()
public void shuffle()
public void truncate(int newSize)
public Iterator<ObjectMap.Entry<K,V>> iterator()
iterator
in interface Iterable<ObjectMap.Entry<K,V>>
public ArrayMap.Entries<K,V> entries()
ArrayMap.Entries
constructor for nested or multithreaded iteration.public ArrayMap.Values<V> values()
ArrayMap.Entries
constructor for nested or multithreaded iteration.public ArrayMap.Keys<K> keys()
ArrayMap.Entries
constructor for nested or multithreaded iteration.Copyright © 2015. All rights reserved.