Java: Hashmaps

Hashmaps are used for key-value storage of objects by Java.

Let’s create a simple PersonDemo class to use in our example…

package ch.isl.beyondbasics;

public class PersonDemo {
    private String givenName;
    private String familyName;
    private String email;

    PersonDemo(String givenName, String familyName, String email) {
        this.givenName = givenName;
        this.familyName = familyName;
        this.email = email;
    }

    public String toString() {
        return givenName+" "+familyName+" ("+email+")";
    }
}

Here is the example code using the HashMap…

package ch.isl.beyondbasics;
import java.util.HashMap;
import java.util.Iterator;

public class HashMapDemo {
    public static void main(String[] args) {
        // Instantiate a HashMap
        // * The key will be a String
        // * The value will be a PersonDemo
        HashMap<String, PersonDemo> people = new HashMap<String, PersonDemo>();

        // Putting objects where they exist as variables
        PersonDemo me = new PersonDemo("Paul","Baumgarten","pbaumgarten@isl.ch");
        people.put("me", me);

        // Putting objects that are not separate variables
        people.put("batman", new PersonDemo("Bruce","Wayne","bruce@wayne-enterprises.com"));
        people.put("superman", new PersonDemo("Clark","Kent","clark@planet.com"));
        people.put("wonderwoman", new PersonDemo("Diana","Prince","diana@gmail.com"));

        // Iteration
        System.out.println("Iterating through HashMap collection:");
        for (Object o : people.values()) {
            System.out.println( " * " + ((PersonDemo)o).toString() );
        }

        // Getting an individual record
        System.out.println("Getting an individual item from HashMap:");
        PersonDemo p = (PersonDemo)people.get("me");
        System.out.println( p.toString() );
    }
}

More information: