public class ArraySortedMap<K,V> extends ImmutableSortedMap<K,V>
This is an array backed implementation of ImmutableSortedMap. It uses arrays and linear lookups
to achieve good memory efficiency while maintaining good performance for small collections. To
avoid degrading performance with increasing collection size it will automatically convert to a
RBTreeSortedMap after an insert call above a certain threshold.
Note: This package is copied from https://github.com/firebase/firebase-admin-java/tree/master/
src/main/java/com/google/firebase/database/collection
Type Parameters |
Name |
Description |
K |
|
V |
|
Static Methods
<A,B,C>buildFrom(List<A> keys, Map<B,C> values, ImmutableSortedMap.Builder.KeyTranslator<A,B> translator, Comparator<A> comparator)
public static ArraySortedMap<A,C> <A,B,C>buildFrom(List<A> keys, Map<B,C> values, ImmutableSortedMap.Builder.KeyTranslator<A,B> translator, Comparator<A> comparator)
<K,V>fromMap(Map<K,V> map, Comparator<K> comparator)
public static ArraySortedMap<K,V> <K,V>fromMap(Map<K,V> map, Comparator<K> comparator)
Parameters |
Name |
Description |
map |
Map<K,V>
|
comparator |
Comparator<K>
|
Constructors
ArraySortedMap(Comparator<K> comparator)
public ArraySortedMap(Comparator<K> comparator)
Parameter |
Name |
Description |
comparator |
Comparator<K>
|
Methods
containsKey(K key)
public boolean containsKey(K key)
Parameter |
Name |
Description |
key |
K
|
Overrides
get(K key)
Parameter |
Name |
Description |
key |
K
|
Returns |
Type |
Description |
V |
|
Overrides
getComparator()
public Comparator<K> getComparator()
Overrides
getMaxKey()
Returns |
Type |
Description |
K |
|
Overrides
getMinKey()
Returns |
Type |
Description |
K |
|
Overrides
getPredecessorKey(K key)
public K getPredecessorKey(K key)
Parameter |
Name |
Description |
key |
K
|
Returns |
Type |
Description |
K |
|
Overrides
getSuccessorKey(K key)
public K getSuccessorKey(K key)
Parameter |
Name |
Description |
key |
K
|
Returns |
Type |
Description |
K |
|
Overrides
inOrderTraversal(LLRBNode.NodeVisitor<K,V> visitor)
public void inOrderTraversal(LLRBNode.NodeVisitor<K,V> visitor)
Overrides
indexOf(K key)
public int indexOf(K key)
Parameter |
Name |
Description |
key |
K
|
Returns |
Type |
Description |
int |
|
Overrides
insert(K key, V value)
public ImmutableSortedMap<K,V> insert(K key, V value)
Parameters |
Name |
Description |
key |
K
|
value |
V
|
Overrides
isEmpty()
Overrides
iterator()
public Iterator<Map.Entry<K,V>> iterator()
Overrides
iteratorFrom(K key)
public Iterator<Map.Entry<K,V>> iteratorFrom(K key)
Parameter |
Name |
Description |
key |
K
|
Overrides
remove(K key)
public ImmutableSortedMap<K,V> remove(K key)
Parameter |
Name |
Description |
key |
K
|
Overrides
reverseIterator()
public Iterator<Map.Entry<K,V>> reverseIterator()
Overrides
reverseIteratorFrom(K key)
public Iterator<Map.Entry<K,V>> reverseIteratorFrom(K key)
Parameter |
Name |
Description |
key |
K
|
Overrides
size()
Returns |
Type |
Description |
int |
|
Overrides