Monday, January 12, 2026

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