Java Collections Framework mein sorting ke liye sabse common method hota hai Collections.sort()
. Ye method kisi bhi List ko natural ascending order mein arrange karta hai.
Internally TimSort algorithm use hota hai, jo merge sort aur insertion sort ka combination hai, efficient aur stable sorting provide karta hai.
Example:
ArrayList<String> list = new ArrayList<>();
list.add("Geeks");
list.add("For");
list.add("Geeks");
list.add("Example");
Collections.sort(list);
System.out.println(list); // Output: [Example, For, Geeks, Geeks]
Agar aap descending order chahte hain to use kar sakte hain:
Collections.sort(list, Collections.reverseOrder());
System.out.println(list); // Output: [Geeks, Geeks, For, Example]
Custom sorting ke liye Comparator interface ka istemal karte hain jahan aap apni order logic define kar sakte hain:
Collections.sort(list, (a, b) -> b.compareTo(a)); // Descending order with lambda
Collections mein kisi element ko dhundhne ke liye simple contains()
method use karte hain jo linear search karta hai.
Jab aapki list sorted ho, tab aap Collections.binarySearch()
ka use karke fast searching kar sakte hain.
Example:
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
Collections.sort(list);
int index = Collections.binarySearch(list, "Banana");
if(index >= 0) {
System.out.println("Banana found at index: " + index);
} else {
System.out.println("Banana not found");
}
Agar element nahi milta toh binarySearch negative value return karta hai jo insertion point se related hoti hai.