70 likes | 170 Vues
Explore the concept of maps in Java, including concrete implementations like TreeMap and HashMap. Learn about retrieving values by key and delve into custom collection classes, such as linked lists, to understand data storage methods and hierarchical structures.
E N D
Chapter 14 Map Collections andCustom Collection Classes
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
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.
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
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
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
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