Java 8 - Comparator Example
A code example showing the use of Comparator in Java 8 using Comparator.comparing method.
public class Student {
private String name;
private String subject;
private double grade;
public Student(String name, String subject, double grade) {
this.name = name;
this.subject = subject;
this.grade = grade;
}
public String getName() {
return name;
}
public String getSubject() {
return subject;
}
public double getGrade() {
return grade;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", subject='" + subject + '\'' +
", grade=" + grade +
'}';
}
}
We can use the Comparator.comparing method to sort the Java Object, also the method reveresed the comparison result.
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class StudentExample {
public static void main(String[] args) {
List studentList = new ArrayList<>();
studentList.add(new Student("Sachin", "English", 80.45));
studentList.add(new Student("Raj", "Science", 70.12));
studentList.add(new Student("Vikram", "Mathematics", 66.54));
studentList.sort(Comparator.comparing(Student::getGrade)
.reversed()
.thenComparing(Student::getName)
.thenComparing(Student::getSubject));
System.out.println(studentList);
}
}