Skip to content

PRO TIP Block youtube.com at the DNS level — Pi-hole, NextDNS or your hosts file — but allow youtube-nocookie.com and i.ytimg.com. These tutorials keep playing; the rabbit hole does not.

Learning without distractions

#95 Comparator vs Comparable in Java

377.2K views on YouTube

Check out our courses:

Agentic AI Engineering with Python : https://go.telusko.com/agentic-ai-python
Coupon: TELUSKO10 (10% Discount)

Master Java Spring Development : https://go.telusko.com/learn-master
Coupon: TELUSKO10 (10% Discount)

For More Queries WhatsApp or Call on : +919008963671

website : https://telusko.com/

Udemy Courses:

Java Spring:- https://go.telusko.com/Udemyjavaspring
Java:- https://go.telusko.com/udemyteluskojava
Spring: https://go.telusko.com/udemyteluskospring
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

Instagram : https://www.instagram.com/navinreddyofficial/
Linkedin : https://in.linkedin.com/in/navinreddy20
WhatsApp : https://go.telusko.com/whatsapp
Discord : https://discord.gg/D8hWe9BqfF

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

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