V
- a constraint on the types of the values in the mappublic class AbbreviationMap<V> extends Object implements OptionNameMap<V>
A map whose keys are strings; when a key/value pair is added to the map, the longest unique abbreviations of that key are added as well, and associated with the value. Thus:
abbreviations.put( "good", "bye" );
would make it such that you could retrieve the value "bye"
from the map using the keys "good"
,
"goo"
, "go"
, and "g"
. A subsequent invocation of:
abbreviations.put( "go", "fish" );
would make it such that you could retrieve the value "bye"
using the keys "good"
and
"goo"
, and the value "fish"
using the key "go"
. The key "g"
would yield
null
, since it would no longer be a unique abbreviation.
The data structure is much like a "trie".
Constructor and Description |
---|
AbbreviationMap() |
Modifier and Type | Method and Description |
---|---|
boolean |
contains(String key)
Tells whether the given key is in the map, or whether the given key is a unique
abbreviation of a key that is in the map.
|
V |
get(String key)
Answers the value associated with the given key.
|
void |
put(String key,
V newValue)
Associates a given value with a given key.
|
void |
putAll(Iterable<String> keys,
V newValue)
Associates a given value with a given set of keys.
|
void |
remove(String key)
If the map contains the given key, dissociates the key from its value.
|
Map<String,V> |
toJavaUtilMap()
Gives a Java map representation of this abbreviation map.
|
public boolean contains(String key)
Tells whether the given key is in the map, or whether the given key is a unique abbreviation of a key that is in the map.
contains
in interface OptionNameMap<V>
key
- key to look uptrue
if key
is present in the mapNullPointerException
- if key
is null
public V get(String key)
Answers the value associated with the given key. The key can be a unique abbreviation of a key that is in the map.
get
in interface OptionNameMap<V>
key
- key to look upaKey
; or null
if there is no
such value or aKey
is not a unique abbreviation of a key in the mapNullPointerException
- if aKey
is null
public void put(String key, V newValue)
Associates a given value with a given key. If there was a previous association, the old value is replaced with the new one.
put
in interface OptionNameMap<V>
key
- key to create in the mapnewValue
- value to associate with the keyNullPointerException
- if aKey
or newValue
is null
IllegalArgumentException
- if aKey
is a zero-length stringpublic void putAll(Iterable<String> keys, V newValue)
Associates a given value with a given set of keys. If there was a previous association, the old value is replaced with the new one.
putAll
in interface OptionNameMap<V>
keys
- keys to create in the mapnewValue
- value to associate with the keyNullPointerException
- if keys
or newValue
is null
IllegalArgumentException
- if any of keys
is a zero-length stringpublic void remove(String key)
If the map contains the given key, dissociates the key from its value.
remove
in interface OptionNameMap<V>
key
- key to removeNullPointerException
- if aKey
is null
IllegalArgumentException
- if aKey
is a zero-length stringpublic Map<String,V> toJavaUtilMap()
toJavaUtilMap
in interface OptionNameMap<V>
Copyright © 2016. All Rights Reserved.