This code snippet sorts a list of objects based on the value of a field of those objects
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class Student implements Comparable {
private String name;
private String rollNumber;
private String department;
// Constructor for the class
public Student(String name,String rollNumber,String department){
this.name = name;
this.rollNumber = rollNumber;
this.department = department;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getRollNumber() {
return rollNumber;
}
public void setRollNumber(String rollNumber) {
this.rollNumber = rollNumber;
}
public String getDepartment() {
return this.department;
}
public void setDepartment(String department) {
this.department = department;
}
//This Function is responsible for sorting.
public int compareTo(Object student1) {
if (!(student1 instanceof Student))
throw new ClassCastException("A Student object expected.");
int rollNumb = Integer.parseInt(((Student) student1).getRollNumber());
int hostObjrollNumb = Integer.parseInt(this.getRollNumber());
return hostObjrollNumb - rollNumb;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Student> lstEstDetailsPrio = new ArrayList<Student>();
//Adds data to the objects
Student s1 = new Student("Tom","3","CS");
Student s2 = new Student("Jerry","1","IT");
Student s3 = new Student("Merry","4","Electronics");
//Adds objects to the list
lstEstDetailsPrio.add(s1);
lstEstDetailsPrio.add(s2);
lstEstDetailsPrio.add(s3);
//Sorts the List
Collections.sort(lstEstDetailsPrio);
}
}