Class AbbreviationMap<V>
- Type Parameters:
V
- a constraint on the types of the values in the map
public class AbbreviationMap<V>
extends java.lang.Object
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".
- See Also:
- Perl's Text::Abbrev module
-
Constructor Summary
Constructors Constructor Description AbbreviationMap()
-
Method Summary
Modifier and Type Method Description boolean
contains(java.lang.String aKey)
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(java.lang.String aKey)
Answers the value associated with the given key.void
put(java.lang.String aKey, V newValue)
Associates a given value with a given key.void
putAll(java.lang.Iterable<java.lang.String> keys, V newValue)
Associates a given value with a given set of keys.void
remove(java.lang.String aKey)
If the map contains the given key, dissociates the key from its value.java.util.Map<java.lang.String,V>
toJavaUtilMap()
Gives a Java map representation of this abbreviation map.
-
Constructor Details
-
AbbreviationMap
public AbbreviationMap()
-
-
Method Details
-
contains
public boolean contains(java.lang.String aKey)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.
- Parameters:
aKey
- key to look up- Returns:
true
ifkey
is present in the map- Throws:
java.lang.NullPointerException
- ifkey
isnull
-
get
Answers the value associated with the given key. The key can be a unique abbreviation of a key that is in the map.
- Parameters:
aKey
- key to look up- Returns:
- the value associated with
aKey
; ornull
if there is no such value oraKey
is not a unique abbreviation of a key in the map - Throws:
java.lang.NullPointerException
- ifaKey
isnull
-
put
Associates a given value with a given key. If there was a previous association, the old value is replaced with the new one.
- Parameters:
aKey
- key to create in the mapnewValue
- value to associate with the key- Throws:
java.lang.NullPointerException
- ifaKey
ornewValue
isnull
java.lang.IllegalArgumentException
- ifaKey
is a zero-length string
-
putAll
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.
- Parameters:
keys
- keys to create in the mapnewValue
- value to associate with the key- Throws:
java.lang.NullPointerException
- ifkeys
ornewValue
isnull
java.lang.IllegalArgumentException
- if any ofkeys
is a zero-length string
-
remove
public void remove(java.lang.String aKey)If the map contains the given key, dissociates the key from its value.
- Parameters:
aKey
- key to remove- Throws:
java.lang.NullPointerException
- ifaKey
isnull
java.lang.IllegalArgumentException
- ifaKey
is a zero-length string
-
toJavaUtilMap
Gives a Java map representation of this abbreviation map.- Returns:
- a Java map corresponding to this abbreviation map
-