Hash Function for Application Types

Although Java has a default hashCode() method that is inherited by every class, it may be desirable to write a custom hashCode() method for application types:[example from Wikipedia.]


public class Employee{
    private int employeeId;
    private String firstName;
    private String lastName;
    private Department dept;
 
    public int hashCode() {
        int hash = 1;
        hash = hash * 31 + lastName.hashCode();
        hash = hash * 29 + firstName.hashCode();
        hash = hash * 17 + employeeId;
        hash = hash * 13 + (dept == null ? 0
                             : dept.hashCode());
        return hash;  } }

This illustrates a good pattern for combining hash codes: multiply one by a prime and add the other. XOR can also be used.

Contents    Page-10    Prev    Next    Page+10    Index