Map Collections and
Custom Collection
Classes
Chapter 14
14
Maps
An object that maps a key to a value
Key maps to one value
A map cannot have duplicate keys
Often used to associate a short key
with a longer value
Example: Dictionary
Example: Employee database using
employee ID number
14
Concrete Map Implementations
TreeMap orders the keys.
HashMap stores the keys in a hash table.
HashMap class is generally preferred for
its efficiency (speed) unless sorted keys
are needed.
14
Retrieving Values by Key
Use the keys collection to retrieve the keys
in a map.
Iterator keyIterator =
myMap.keySet().iterator();
Keys collection holds “key” objects.
Must cast key values to the appropriate type
Integer key =
(Integer)keyIterator.next();
Retrieves the next key from keyIterator
(collection of keys) then casts it to an Integer
and assigns it to the variable key
14
Custom Collection Classes
Custom collections allow you to define
the data storage method.
Good way to understand how other
collection classes work
Think through issues involved in writing
good generic classes
14
Linked List
A linked list is a type of collection, similar to
a train.
Each object or node is linked to the next object
in the collection.
Singly linked list
Each node knows the node following it
Can only be iterated in one direction
Doubly linked list
Each node knows the node preceding it and the node
following it
Can be iterated in both directions
14
Linked List Hierarchy
Head node points to next node in list
Internal node “carries” an object (the value
being stored) and points to next node in list
Tail node signals end of the list

Chapter 14

  • 1.
    Map Collections and CustomCollection Classes Chapter 14
  • 2.
    14 Maps An object thatmaps a key to a value Key maps to one value A map cannot have duplicate keys Often used to associate a short key with a longer value Example: Dictionary Example: Employee database using employee ID number
  • 3.
    14 Concrete Map Implementations TreeMaporders the keys. HashMap stores the keys in a hash table. HashMap class is generally preferred for its efficiency (speed) unless sorted keys are needed.
  • 4.
    14 Retrieving Values byKey Use the keys collection to retrieve the keys in a map. Iterator keyIterator = myMap.keySet().iterator(); Keys collection holds “key” objects. Must cast key values to the appropriate type Integer key = (Integer)keyIterator.next(); Retrieves the next key from keyIterator (collection of keys) then casts it to an Integer and assigns it to the variable key
  • 5.
    14 Custom Collection Classes Customcollections allow you to define the data storage method. Good way to understand how other collection classes work Think through issues involved in writing good generic classes
  • 6.
    14 Linked List A linkedlist is a type of collection, similar to a train. Each object or node is linked to the next object in the collection. Singly linked list Each node knows the node following it Can only be iterated in one direction Doubly linked list Each node knows the node preceding it and the node following it Can be iterated in both directions
  • 7.
    14 Linked List Hierarchy Headnode points to next node in list Internal node “carries” an object (the value being stored) and points to next node in list Tail node signals end of the list