This interface imposes a total ordering on the objects of each class that implements it.
Return | Method | Summary |
---|---|---|
int | compareTo(T o) | Compares this object with the specified object for order. |
This method compares the invoking object with obj.
The Byte, Character, Double, Float, Long, Short, String, and Integer classes define a compareTo( ) method.
The following example create a class Person which implements the Comparable interface. Person array is created and passed into TreeSet. The TreeSet sorts the person array and then output.
import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
public class Main {
public static void main(String[] argv) {
Person emps[] = { new Person("A", "B"), new Person("C", "D"), new Person("E", "F"),
new Person("G", "H"), new Person("I", "J") };
Set set = new TreeSet(Arrays.asList(emps));
System.out.println(set);
}
}
class Person implements Comparable {
String firstName, lastName;
public Person(String f, String l) {
this.firstName = f;
this.lastName = l;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
public String toString() {
return firstName + ",name=" + lastName;
}
public int compareTo(Object obj) {
Person emp = (Person) obj;
int deptComp = firstName.compareTo(emp.getFirstName());
return ((deptComp == 0) ? lastName.compareTo(emp.getLastName()) : deptComp);
}
public boolean equals(Object obj) {
if (!(obj instanceof Person)) {
return false;
}
Person emp = (Person) obj;
return firstName.equals(emp.getFirstName()) && lastName.equals(emp.getLastName());
}
}
The output:
[A,name=B, C,name=D, E,name=F, G,name=H, I,name=J]
java2s.com | Contact Us | Privacy Policy |
Copyright 2009 - 12 Demo Source and Support. All rights reserved. |
All other trademarks are property of their respective owners. |