Check out our courses: Complete Java Developer Course Batch-4: https://go.telusko.com/Complete4 Coupon: TELUSKO10 (10% Discount) Spring Boot 3 and Spring AI - Live Course :- https://go.telusko.com/spring3springAI Coupon: TELUSKO10 (10% Discount) Master Java Spring Development : https://go.telusko.com/masterjava Coupon: TELUSKO20 (20% Discount) For More Queries WhatsApp or Call on : +919008963671 Udemy Courses: Spring: https://go.telusko.com/udemyteluskospring Java:- https://go.telusko.com/udemyteluskojava Java Spring:- https://go.telusko.com/Udemyjavaspring Java For Programmers:- https://go.telusko.com/javaProgrammers Python : https://go.telusko.com/udemyteluskopython Git : https://go.telusko.com/udemyteluskogit Docker : https://go.telusko.com/udemyteluskodocker website : https://courses.telusko.com/ In this lecture we will learn: - What is Comparator in Java? - How to give your implementation for sorting? - What is Comparable in Java? - Difference between Comparable & Comparator #1 - From the Java 1.7 version, it is not compulsory to mention the generic type on the right-hand side if you have already mentioned it on the left-hand side. - A collection class has lots of methods. The collection class belongs to the util package. - We can sort a list or an ArrayList by using the method sort of collection class Collections.sort(); - If we want to apply our own logic in sorting, then we have to use a comparator with sorting in collections. - Comparator is also an interface. - We have a method called compare() in the comparator interface. - We can use an interface by implementing a class or through an anonymous class. - Compare method works on an algorithm where it compares two values and then swaps them. Comparator Integer com= new Comparator Integer() { public int compare(Integer i, Integer j) { statements; } }; - So, a comparator is an interface through which you can specify your own concept of sorting. #2 - Integer class implements a Comparable interface. So by default, sort works for Integer. - If you want to do natural sorting on any other non-defined class, you can implement something called the Comparable. - Comparable is present in the lang package. - Comparable has a method known as compareTo(). - You have to define the method comapreTo() in a class, that is implementing Comparable. class Student implements Comparable Student { public int compareTo( Student that){ statements; } } Here, that is a variable. - We can also override the logic by using Comparator even if we have implements the Comparable interface. - Lambda expression can also be used with Comparator as it is a functional interface. #3 Difference between Comparable & Comparator: - Comparable provides a single sorting sequence while the Comparator provides multiple sorting sequences. - In Comparable, actual gets modified while in Comparator, the original class does not get affected. - Comparable gives the compareTo() method for sorting while Comparator gives the compare() method to sort elements. Github repo : https://github.com/navinreddy20/Javacode.git Instagram : https://www.instagram.com/navinreddyofficial/ Linkedin : https://in.linkedin.com/in/navinreddy20 Discord : https://discord.gg/UrYda98D Java:- https://bit.ly/JavaUdemyTelusko Spring:- https://bit.ly/SpringUdemyTelusko More Learning : Java :- https://bit.ly/3x6rr0N Python :- https://bit.ly/3GRc7JX Django :- https://bit.ly/3MmoJK6 JavaScript :- https://bit.ly/3tiAlHo Node JS :- https://bit.ly/3GT4liq Rest Api :-https://bit.ly/3MjhZwt Servlet :- https://bit.ly/3Q7eA7k Spring Framework :- https://bit.ly/3xi7buh Design Patterns in Java :- https://bit.ly/3MocXiq Docker :- https://bit.ly/3xjWzLA Blockchain Tutorial :- https://bit.ly/3NSbOkc Corda Tutorial:- https://bit.ly/3thbUKa Hyperledger Fabric :- https://bit.ly/38RZCRB NoSQL Tutorial :- https://bit.ly/3aJpRuc Mysql Tutorial :- https://bit.ly/3thpr4L Data Structures using Java :- https://bit.ly/3MuJa7S Git Tutorial :- https://bit.ly/3NXyCPu Donation: PayPal Id : navinreddy20 https://www.telusko.com