Would you like to react to this message? Create an account in a few clicks or log in to continue.

How to use Comparable Interface

Go down

How to use Comparable Interface Empty How to use Comparable Interface

ตั้งหัวข้อ  Admin Thu May 22, 2008 3:43 pm

In this code Employee class is implementing
Comparable interface and have method compareTO(). ComparableDemo.java
is showing the use of this interface. This class first makes a list of
objects of type
Employee and call sort method of java.util.Collections, which
internally uses compareTo() method of Employee class and sort the list
accordingly.


Employee.java



public class Employee implements Comparable {

int EmpID;
String Ename;
double Sal;
static int i;

public Employee() {
EmpID = i++;
Ename = "dont know";
Sal = 0.0;
}

public Employee(String ename, double sal) {
EmpID = i++;
Ename = ename;
Sal = sal;
}

public String toString() {
return "EmpID " + EmpID + "\n" + "Ename " + Ename + "\n" + "Sal" + Sal;
}

public int compareTo(Object o1) {
if (this.Sal == ((Employee) o1).Sal)
return 0;
else if ((this.Sal) > ((Employee) o1).Sal)
return 1;
else
return -1;
}
}






ComparableDemo.java



import java.util.*;

public class ComparableDemo{

public static void main(String[] args) {

List ts1 = new ArrayList();
ts1.add(new Employee ("Tom",40000.00));
ts1.add(new Employee ("Harry",20000.00));
ts1.add(new Employee ("Maggie",50000.00));
ts1.add(new Employee ("Chris",70000.00));
Collections.sort(ts1);
Iterator itr = ts1.iterator();

while(itr.hasNext()){
Object element = itr.next();
System.out.println(element + "\n");

}

}
}






Output:

EmpID 1
Ename Harry
Sal20000.0

EmpID 0
Ename Tom
Sal40000.0

EmpID 2
Ename Maggie
Sal50000.0

EmpID 3
Ename Chris
Sal70000.0
Admin
Admin
Admin

จำนวนข้อความ : 112
Registration date : 18/05/2008

http://chawban.chocoforum.com

ขึ้นไปข้างบน Go down

ขึ้นไปข้างบน

- Similar topics

 
Permissions in this forum:
คุณไม่สามารถพิมพ์ตอบ