7
Map Collections and Custom Collection Classes Chapter 14

Chapter 14

Embed Size (px)

Citation preview

Page 1: Chapter 14

Map Collections andCustom Collection Classes

Chapter 14

Page 2: Chapter 14

14

MapsAn 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

Page 3: Chapter 14

14Concrete Map

ImplementationsTreeMap 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.

Page 4: Chapter 14

14

Retrieving Values by KeyUse 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 typeInteger 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

Page 5: Chapter 14

14

Custom Collection ClassesCustom 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

Page 6: Chapter 14

14

Linked ListA 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 listEach node knows the node following it

Can only be iterated in one direction

Doubly linked listEach node knows the node preceding it and the node following it

Can be iterated in both directions

Page 7: Chapter 14

14

Linked List HierarchyHead 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