Tuesday, 25 September 2012



Best Example For Comparable Interface

import java.util.*;
public class DateAndName implements Comparable {
    private String date;
    private String name;
    public DateAndName(String date, String name) {
        this.date = date;
        this.name = name;
    }
    public String getDate() {
        return date;
    }
    public String getName() {
        return name;
    }
    public int compareTo(Object obj) {
        if (! (obj instanceof DateAndName)) {
            throw new ClassCastException(
                            "compared object must be instance of DateAndName");
        }
        return this.getDate().compareTo(((DateAndName) obj).getDate());
    }
    public String toString() {
        StringBuffer sb = new StringBuffer();
        sb.append(getDate());
        sb.append("\t");
        sb.append(getName());
        return sb.toString();
    }
    public static void main(String[] args) {
        ArrayList list = new ArrayList();
        list.add(new DateAndName("03-29-2003", "Harry Potter"));
        list.add(new DateAndName("02-19-2003", "Bilbo Baggins"));
        list.add(new DateAndName("03-07-2003", "Luke Skywalker"));
        System.out.println("Unsorted:");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i).toString());
        }
        Collections.sort(list);
        System.out.println("");
        System.out.println("Sorted:");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i).toString());
        }
    }
}

No comments:

Post a Comment