Mapping with Hashtable and HashMap
Problem
You need a one-way mapping from one data item to another.
Solution
Use a HashMap
, or the older
Hashtable
.
Discussion
HashMap
(added in Java 2) and
Hashtable
provide a one-way mapping from one set
of
object references to
another. They are completely general purpose. I’ve used them to
map AWT push buttons (see Section 13.5) to the URL to
jump to when the button is pushed; to map names to addresses; and to
implement a simple in-memory cache in a web server. You can map from
anything to anything. Here we map from company names to addresses;
the addresses here are String
objects, but in real
life they’d probably be Address
objects.
// HashDemo.java // Construct and load the HashMap. This simulates loading a database // or reading from a file, or wherever the data is from. // The hashtable maps from company name to company address. // In a real application these would be an Address object. HashMap h = new HashMap( ); h.put("Adobe", "Mountain View, CA"); h.put("IBM", "White Plains, NY"); h.put("Learning Tree", "Los Angeles, CA"); h.put("O'Reilly & Associates", "Sebastopol, CA"); h.put("Netscape", "Mountain View, CA"); h.put("Sun", "Mountain View, CA"); // Two versions of the "retrieval" phase. // Version 1: get one pair's value given its key // (presumably the key would really come from user input): String queryString = "O'Reilly & Associates"; System.out.println("You asked about " + queryString + "."); String resultString = (String)h.get(queryString); ...
Get Java Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.