Is lesson me hum seekhenge:
- Comparator kya hota hai
- Custom comparator kyun use karte hain
- Comparator vs Comparable
- Custom sorting kaise karte hain
- Real examples
Comparator ek interface hai:
jo custom sorting logic define karne ke liye use hota hai
Package:
java.util.Comparator
Default sorting:
ascending order me hoti hai
Agar aapko chahiye:
descending
custom logic (age, name, marks)
to Comparator use karte hain.
int compare(Object o1, Object o2)Return:
negative → o1 < o2
zero → equal
positive → o1 > o2
import java.util.*;
class Test {
public static void main(String[] args){
ArrayList<Integer> list = new ArrayList<>();
list.add(10);
list.add(30);
list.add(20);
Collections.sort(list, (a, b) -> b - a);
System.out.println(list);
}
}Output:
[30, 20, 10]
class Student {
String name;
int marks;
Student(String name, int marks){
this.name = name;
this.marks = marks;
}
}import java.util.*;
class Test {
public static void main(String[] args){
ArrayList<Student> list = new ArrayList<>();
list.add(new Student("Sujit", 85));
list.add(new Student("Rahul", 90));
list.add(new Student("Amit", 80));
Collections.sort(list, (s1, s2) -> s2.marks - s1.marks);
for(Student s : list){
System.out.println(s.name + " " + s.marks);
}
}
}Collections.sort(list, (s1, s2) -> s1.name.compareTo(s2.name));| Feature | Comparator | Comparable |
|---|---|---|
| Package | java.util | java.lang |
| Method | compare() | compareTo() |
| Use | external sorting | internal sorting |
Collections.sort(list, (s1, s2) -> {
if(s1.marks == s2.marks){
return s1.name.compareTo(s2.name);
}
return s2.marks - s1.marks;
});Collections.sort(list, new Comparator<Student>() {
public int compare(Student s1, Student s2){
return s1.marks - s2.marks;
}
});Collections.sort(list, Comparator.reverseOrder());
Collections.sort(list, Comparator.naturalOrder());Collections.sort(list, (a, b) -> a.length() - b.length());String length ke basis par sorting.
✔ Comparator external sorting ke liye use hota hai
✔ Multiple sorting conditions possible hain
✔ Lambda expressions se code short ho jata hai
- Comparator kya hota hai?
- Comparator aur Comparable me difference?
- compare() method ka return kya hota hai?
- Custom sorting kaise implement karte hain?
Is lesson me humne seekha:
✔ Comparator interface
✔ Custom sorting logic
✔ Lambda-based sorting
✔ Comparator vs Comparable
✔ Multi-level sorting
Comparator Java me flexible aur powerful sorting mechanism provide karta hai.