Package org.apache.solr.common.util
Class SimpleOrderedMap<T>
- java.lang.Object
-
- org.apache.solr.common.util.NamedList<T>
-
- org.apache.solr.common.util.SimpleOrderedMap<T>
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<Map.Entry<String,T>>
,Map<String,T>
,SimpleMap<T>
,MapSerializable
,MapWriter
,NavigableObject
,org.noggit.JSONWriter.Writable
public class SimpleOrderedMap<T> extends NamedList<T> implements Map<String,T>
SimpleOrderedMap
is aNamedList
where access by key is more important than maintaining order when it comes to representing the held data in other forms, as ResponseWriters normally do. It's normally not a good idea to repeat keys or use null keys, but this is not enforced. If key uniqueness enforcement is desired, use a regularMap
.For example, a JSON response writer may choose to write a SimpleOrderedMap as {"foo":10,"bar":20} and may choose to write a NamedList as ["foo",10,"bar",20]. An XML response writer may choose to render both the same way.
This class does not provide efficient lookup by key. The lookup performance is only O(N), and not O(1) or O(Log N) as it is for the most common Map-implementations. Its main purpose is to hold data to be serialized. It aims to minimize overhead and to be efficient at adding new elements.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.common.util.NamedList
NamedList.NamedListEntry<T>
-
Nested classes/interfaces inherited from interface java.util.Map
Map.Entry<K extends Object,V extends Object>
-
Nested classes/interfaces inherited from interface org.apache.solr.common.MapWriter
MapWriter.EntryWriter
-
-
Constructor Summary
Constructors Constructor Description SimpleOrderedMap()
Creates an empty instanceSimpleOrderedMap(int sz)
SimpleOrderedMap(Map.Entry<String,T>[] nameValuePairs)
SimpleOrderedMap(MapWriter mapWriter)
Can convert aSolrParams
and other things.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description SimpleOrderedMap<T>
clone()
Makes a shallow copy of the named list.boolean
containsKey(Object key)
boolean
containsValue(Object value)
Set<Map.Entry<String,T>>
entrySet()
boolean
equals(Object obj)
T
get(Object key)
int
hashCode()
boolean
isEmpty()
Set<String>
keySet()
static SimpleOrderedMap<Object>
of()
Returns a shared, empty, and immutable instance ofSimpleOrderedMap
.static <T> SimpleOrderedMap<T>
of(String name, T val)
Returns an immutable instance ofSimpleOrderedMap
with a single key-value pair.T
put(String key, T value)
void
putAll(Map<? extends String,? extends T> m)
T
remove(Object key)
Collection<T>
values()
-
Methods inherited from class org.apache.solr.common.util.NamedList
_size, abortableForEach, abortableForEachKey, add, addAll, addAll, asMap, asShallowMap, asShallowMap, clear, findRecursive, forEach, forEachEntry, forEachKey, get, get, getAll, getBooleanArg, getImmutableCopy, getName, getOrDefault, getVal, indexOf, indexOf, iterator, remove, remove, removeAll, removeBooleanArg, removeConfigArgs, setName, setVal, size, toSolrParams, toString, writeMap
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Methods inherited from interface java.util.Map
clear, compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll, size
-
Methods inherited from interface org.apache.solr.common.NavigableObject
_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _get, _getStr, _getStr, _getStr
-
-
-
-
Constructor Detail
-
SimpleOrderedMap
public SimpleOrderedMap()
Creates an empty instance
-
SimpleOrderedMap
public SimpleOrderedMap(int sz)
-
SimpleOrderedMap
public SimpleOrderedMap(MapWriter mapWriter)
Can convert aSolrParams
and other things.
-
-
Method Detail
-
clone
public SimpleOrderedMap<T> clone()
Description copied from class:NamedList
Makes a shallow copy of the named list.
-
equals
public boolean equals(Object obj)
-
hashCode
public int hashCode()
-
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey
in interfaceMap<String,T>
-
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue
in interfaceMap<String,T>
-
get
public T get(Object key)
Has linear lookup time O(N)
- Specified by:
get
in interfaceMap<String,T>
- See Also:
NamedList.get(String)
-
remove
public T remove(Object key)
- Specified by:
remove
in interfaceMap<String,T>
- See Also:
NamedList.remove(String)
-
of
public static <T> SimpleOrderedMap<T> of(String name, T val)
Returns an immutable instance ofSimpleOrderedMap
with a single key-value pair.- Returns:
SimpleOrderedMap
containing one key-value pair
-
of
public static SimpleOrderedMap<Object> of()
Returns a shared, empty, and immutable instance ofSimpleOrderedMap
.- Returns:
- Empty
SimpleOrderedMap
(immutable)
-
-