Package dsa.lab04.exercises
Class ArrayMap<Key,Value>
java.lang.Object
dsa.lab04.exercises.ArrayMap<Key,Value>
- Type Parameters:
Key- the key typeValue- the value type
- All Implemented Interfaces:
Container<MapItem<Key,,Value>> Map<Key,,Value> Iterable<MapItem<Key,Value>>
An (unsorted) array map.
A map implemented using a dynamic array of key-value items.
find(Key), insert(dsa.lab04.base.MapItem<Key, Value>) and remove(Key) are all O(n),
where n is the size.
-
Constructor Summary
ConstructorsConstructorDescriptionArrayMap()Construct an empty array map.Construct an array map containing the given items.Construct an array map containing the given items.Construct an array map containing the given items more efficiently thanArrayMap(Iterable). -
Method Summary
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface dsa.lab04.base.Map
containsKey, containsValue, get, insert, keys, values
-
Constructor Details
-
ArrayMap
public ArrayMap()Construct an empty array map. -
ArrayMap
Construct an array map containing the given items.- Parameters:
items- the items
-
ArrayMap
Construct an array map containing the given items more efficiently thanArrayMap(Iterable).- Parameters:
items- the itemssize- the number of items- Throws:
IllegalArgumentException- ifsize!=n(wherenisitems's size)
-
ArrayMap
Construct an array map containing the given items.- Parameters:
items- the items
-
-
Method Details
-
size
public int size()Description copied from interface:ContainerGet the number of contained items. -
find
Description copied from interface:MapFind the item with the given key.- Specified by:
findin interfaceMap<Key,Value> - Parameters:
key- the item's key- Returns:
- the item
- Throws:
NoSuchElementException- if no item has keykey
-
insert
Description copied from interface:MapInsert the given item.If there's already an item with the same key, that item is replaced with this one.
This means that if the key was not already contained, the size is incremented, otherwise it isn't.
-
remove
Description copied from interface:MapRemove and return the item with the given key.Decrements the size (assuming the item was actually in the map).
- Specified by:
removein interfaceMap<Key,Value> - Parameters:
key- the item's key- Returns:
- the item
- Throws:
NoSuchElementException- ifkeyis not contained
-
items
Description copied from interface:ContainerGet an iterable that yields each item once.
-