Java Reference
In-Depth Information
The put method inserts an entry into the map, and get retrieves the value for a given key. The
following code fragment creates a HashMap and inserts three entries into it. Each entry is a key/
value pair consisting of a name and a telephone number.
HashMap<String, String> phoneBook = new HashMap<String, String>();
phoneBook.put("Charles Nguyen", "(531) 9392 4587");
phoneBook.put("Lisa Jones", "(402) 4536 4674");
phoneBook.put("William H. Smith", "(998) 5488 0123");
As we saw with ArrayList , when declaring a HashMap variable and creating a HashMap ob-
ject, we have to say what type of objects will be stored in the map and, additionally, what type
of objects will be used for the key. For the phone book, we will use strings for both the keys and
the values, but the two types will sometimes be different.
As we have seen in Section 4.4.2 if we are using Java 7 (or newer), the generic type specifica-
tion on the right-hand side of the assignment may be left out, like this:
HashMap<String, String> phoneBook = new HashMap<>();
This is known as the “diamond operator” because of the two empty angle brackets: <> .
In Java 7, this line is equivalent to the first line above (but in Java 6 it does not compile). If you leave
out the generic parameters, the compiler will just assume the same parameters used on the left-hand
side of the assignment. Thus, the effect is exactly the same—we just save a little bit of typing.
The following code will find the phone number for Lisa Jones and print it out.
String number = phoneBook.get("Lisa Jones");
System.out.println(number);
Note that you pass the key (the name “Lisa Jones”) to the get method in order to receive the
value (the phone number).
Read the documentation of the get and put methods of class HashMap again and see whether
the explanation matches your current understanding.
Exercise 5.25 How do you check how many entries are contained in a map?
Exercise 5.26 Create a class MapTester (either in your current project or in a new project).
In it, use a HashMap to implement a phone book similar to the one in the example above.
(Remember that you must import java.util.HashMap .) In this class, implement two methods:
public void enterNumber(String name, String number)
and
public String lookupNumber(String name)
The methods should use the put and get methods of the HashMap class to implement their
functionality.
Exercise 5.27 What happens when you add an entry to a map with a key that already ex-
ists in the map?
 
Search WWH ::




Custom Search