How to do Customized SortingOrder For Custom Class Objects
(1)
public class Student {
private int studentRollNo;
private String studentName;
public Student(int studentRollNo, String studentName) {
this.studentRollNo = studentRollNo;
this.studentName = studentName;
}
public int getStudentRollNo() {
return studentRollNo;
}
public String getStudentName() {
return studentName;
}
public String toString() {
return "\n Student Roll Number is " + studentRollNo + " and Student Name is " + studentName + "\n";
}
}
(2)
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
public class CustomizedSortingOrderForCustomClassObjects {
public static void main(String[] args) {
HashSet<Student> hashSetStudentObj = new HashSet<Student>();
hashSetStudentObj.add(new Student(7,"Krishna"));
hashSetStudentObj.add(new Student(2,"Raghavendra"));
hashSetStudentObj.add(new Student(5,"Kumari"));
hashSetStudentObj.add(new Student(3,"Prasad"));
hashSetStudentObj.add(new Student(1,"Sachin"));
hashSetStudentObj.add(new Student(2,"Rajagopal"));
List<Student> arrayListTransformedIs = new ArrayList<Student>(hashSetStudentObj);
Collections.sort(arrayListTransformedIs,
(I1,I2)->(((Student) I1).getStudentRollNo()>((Student) I2).getStudentRollNo())?1:(((Student) I1).getStudentRollNo()<((Student) I2).getStudentRollNo())?-1:0
);
System.out.println("ArrayListObj is \n" + arrayListTransformedIs);
}
}
Solution is :
ArrayListObj is
[
Student Roll Number is 1 and Student Name is Sachin
,
Student Roll Number is 2 and Student Name is Raghavendra
,
Student Roll Number is 2 and Student Name is Rajagopal
,
Student Roll Number is 3 and Student Name is Prasad
,
Student Roll Number is 5 and Student Name is Kumari
,
Student Roll Number is 7 and Student Name is Krishna
]
No comments:
Post a Comment