structure
Class MapList
java.lang.Object
|
+--structure.MapList
- All Implemented Interfaces:
- Map
- public class MapList
- extends Object
- implements Map
Associations establish a link between a key and a value.
An associative array or map is a structure that allows a disjoint
set of keys to become associated with an arbitrary set of values.
The convenience of an associative array is that the values used to
index the elements need not be comparable and their range need not
be known ahead of time. Furthermore, there is no upper bound on
the size of the structure. It is able to maintain an arbitrary number
of different pieces of information simultaneously. Maps are sometimes
called dictionaries because of the uniqueness of the association of
words and definitions in a household dictionary.
This implementation is based on a list, so performance for most
operations is linear.
Example Usage:
To create a dictionary by reading a collection of words and
definitions from System.in we could use the following!
public static void main (String[] argv){
Map dict = new MapList()
;
ReadStream r = new ReadStream();
String word, def;
System.out.println("Enter a word: ");
while(!r.eof()){
word = r.readLine();
System.out.println("Enter a definition: ");
def = r.readLine();
dict.put(word,def)
;
System.out.println("Enter a word: ");
}
System.out.println(dict);
}
Field Summary |
protected List |
data
List for storing the entries in this map |
Constructor Summary |
MapList()
Construct an empty map, based on a list |
MapList(Map source)
Construct a map with values found in source |
Methods inherited from class java.lang.Object |
, clone, finalize, getClass, notify, notifyAll, registerNatives, toString, wait, wait, wait |
data
protected List data
- List for storing the entries in this map
MapList
public MapList()
- Construct an empty map, based on a list
MapList
public MapList(Map source)
- Construct a map with values found in source
size
public int size()
- Returns the number of entries in the map
- Specified by:
size
in interface Map
- Postcondition:
- returns the number of entries in the map
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interface Map
- Postcondition:
- returns true iff this map does not contains any entries
containsKey
public boolean containsKey(Object k)
- Specified by:
containsKey
in interface Map
- Precondition:
- k is non-null
- Postcondition:
- returns true iff k is a key that is mapped to a value;
that is, k is in the domain of the map
containsValue
public boolean containsValue(Object v)
- Specified by:
containsValue
in interface Map
- Precondition:
- v is non-null
- Postcondition:
- returns true iff v is the target of at least one map entry;
that is, v is in the range of the map
get
public Object get(Object k)
- Specified by:
get
in interface Map
- Precondition:
- k is a key, possibly in the map
- Postcondition:
- returns the value mapped to from k, or null
put
public Object put(Object k,
Object v)
- Specified by:
put
in interface Map
- Precondition:
- k and v are non-null
- Postcondition:
- inserts a mapping from k to v in the map
remove
public Object remove(Object k)
- Specified by:
remove
in interface Map
- Precondition:
- k is non-null
- Postcondition:
- removes any mapping from k to a value, from the mapping
putAll
public void putAll(Map other)
- Specified by:
putAll
in interface Map
- Precondition:
- other is non-null
- Postcondition:
- all the mappings of other are installed in this map,
overriding any conflicting maps
clear
public void clear()
- Specified by:
clear
in interface Map
- Postcondition:
- removes all map entries associated with this map
keySet
public Set keySet()
- Specified by:
keySet
in interface Map
- Postcondition:
- returns a set of all keys associated with this map
values
public Structure values()
- Specified by:
values
in interface Map
- Postcondition:
- returns a structure that contains the range of the map
entrySet
public Set entrySet()
- Specified by:
entrySet
in interface Map
- Postcondition:
- returns a set of (key-value) pairs, generated from this map
equals
public boolean equals(Object other)
- Specified by:
equals
in interface Map
- Overrides:
equals
in class Object
- Precondition:
- other is non-null
- Postcondition:
- returns true iff maps this and other are entry-wise equal
hashCode
public int hashCode()
- Specified by:
hashCode
in interface Map
- Overrides:
hashCode
in class Object
- Postcondition:
- returns a hash code associated with this structure