public class Student implements java.lang.Comparable { private String firstName; private String lastName; public Student(String fname, String lname) { firstName = fname; lastName = lname; } public void setFirstName( String firstName ) { this.firstName = firstName; } public void setLastName( String lastName ) { this.lastName = lastName; } public String getFirstName() { return firstName; } public String getLastName() { return lastName; } public String toString() { return firstName+" "+lastName; } public boolean equals(Object o) { return (o instanceof Student && o.hashCode() == this.hashCode()); } public int hashCode() { return 3 * firstName.hashCode() + 5 * lastName.hashCode(); } public int compareTo(Student st) { return lastName.compareTo(st.lastName) != 0 ? lastName.compareTo(st.lastName) : firstName.compareTo(st.firstName); } }