You literally teach and explain everything about sorting with object in 15 mins that my professor wasn't able to do in 2 hours. Good job and keep doing these things because it's really helpful and valuable to a fresher like me
Sorting the String based on the length: public class PractComparator { public static void main(String[] arg) { Comparator com = new Comparator() { @Override public int compare(String o1, String o2) { return o1.length() - o2.length(); } }; List fruit = new ArrayList(); fruit.add("Banana"); fruit.add("Mandarin"); fruit.add("PineApple"); fruit.add("Apple");
@telusko I loved your teaching style Naveen Reddy Sir, It is not necessary for a Comparator to return -1 or 1 it can actually return any negative or positive integer only the sign matters. even 0 is allowed i guess. this caused me confusion but you should have also mentioned it at the end for more nerdy people. package java4AdvancedCollections; import java.util.TreeSet; public class TreeSetExample { public static void main(String[] args) { // Creating a TreeSet of integers (natural ordering) TreeSet treeSet = new TreeSet(); // Adding elements to the TreeSet treeSet.add(10); treeSet.add(5); treeSet.add(20); treeSet.add(15); // Printing the TreeSet (elements will be in ascending order) System.out.println("TreeSet: " + treeSet); // Creating a TreeSet with a custom comparator for descending order TreeSet descendingTreeSet = new TreeSet((a, b) -> { if (a > b) { return -2; } else { return 2; } }); // Adding elements to the descending TreeSet descendingTreeSet.add(10); descendingTreeSet.add(5); descendingTreeSet.add(20); descendingTreeSet.add(15); // Printing the descending TreeSet (elements will be in descending order) System.out.println("Descending TreeSet: " + descendingTreeSet); // Performing operations specific to NavigableSet interface System.out.println("Ceiling of 12: " + treeSet.ceiling(12)); System.out.println("Floor of 12: " + treeSet.floor(12)); } }
Hi Navin. as usual great video.. but most importantly comparator and comparable have always been things ive never understood.... until now.. the way you have explained is amazing and always wait for your amazing videos. and by the way the growth of your presentation and teaching skills have become better and better and we love it. Thanks a lot and will be waiting for lots more videos.
Logic to sort elements based on the length of the string import java.util.Comparator; import java.util.*; class Solution { public static void main(String[] args) {
Comparator com = new Comparator(){ public int compare(String a , String b){ if(a.length() > b.length()) return 1; else return -1; } }; List nums = new ArrayList(); nums.add("Python"); nums.add("C++"); nums.add("Java"); nums.add("Django"); nums.add("SpringBoot"); nums.add("Spring"); Collections.sort(nums , com); System.out.println(nums); } }
@telusko it is not necessary for a Comparator to return -1 or 1 it can actually return any negative or positive integer only the sign matters. {even 0 is allowed i guess}
Synopsis: If you want to give class the power to compare its object on its own then use Comparable otherwise use Comparator to define logic and pass its object in the Collections.sort() method....
Here i have a doubt. Comparable is a functional interface. So we can override onlt compareTo() method and it is fine. But Comparator method is not a functional interface. How can we just override only menthod which is compare() and Java dosen't gives an error?
Excellent video. Well explained. Can you add a comment here on how to sort based on more than one field? Say name and age assuming student names are duplicated. thanks
wonderful video, it helps me to understand the concept very clear . Example you are providing is just awesome sir. keep doing these kind of videos sir. thanks a lot.
Homework: import java.util.*; class Solution { public static void main(String[] args) { // Write your code here Comparator com=new Comparator(){ //jai mata di : Anonymous Inner class public int compare(String s1, String s2){ if(s1.length()>s2.length()){ return 1; } else return -1; } };
List al=new ArrayList(); al.add("Rahul"); al.add("DK"); al.add("J"); Collections.sort(al,com); System.out.println(al); } }
When i was a student in 2015 then also i used to come and watch java videos here. I now have almost 5 years of experience and when some Java work comes I come here again to refresh my memory. Thank you Navin. It feels like nostalgia sometimes watching your videos
@@codework2434 it's new update from official java it's unnecessary to mention on creating object of Comparator But in case of anonymous class we should! do you understand?
Cannot make a static reference to the non-static field compare some times i am getting this error in quick fix i got add static static Comparator com = new Comparator() { then it solved
// Sort the list of strings on the basis of length of string. List list = new ArrayList(); list.add("Navin Reddy sir"); list.add("Harendra Pandey jee"); list.add("Gautam"); list.add("Nitesh"); Comparator com = new Comparator() { @Override public int compare(String o1, String o2) { if(o1.length()>o2.length())return 1; else return -1; } }; System.out.println("List before sorting"); System.out.println(list); System.out.println("List after sorting"); Collections.sort(list,com); System.out.println(list);
You are explaining saying sort() works using bubblesort in the background, which need not be the case, don't give wrong info. In case of java it uses, duel pivot quick sort sort alogithm. Why you pass in comparator, you are only letting the sort know how to compare the values, not the whole sorting.
Sorting string by length package Collection; import java.util.*; public class SortStringByLen { public static void main(String[] args) { ArrayList ob = new ArrayList(); ArrayList ob1 = new ArrayList(); Comparator c1 = new Comparator() { public int compare(String i ,String j){ if(i.length()>j.length()){ return 1; } else{ return -1; } } }; Scanner sc = new Scanner(System.in); System.out.println("Enter the names: "); String str; int len; for(int i=0;i
You literally teach and explain everything about sorting with object in 15 mins that my professor wasn't able to do in 2 hours. Good job and keep doing these things because it's really helpful and valuable to a fresher like me
same, our teacher here literally sent us to read javadocs =)
So glad you're updating your older videos. Helpful as always! 😁
Navin sir.... Really fond of u..... I sat for 5 hrs to understand it.... Now im crystal clear
can you give some techniques
Sorting the String based on the length:
public class PractComparator {
public static void main(String[] arg) {
Comparator com = new Comparator() {
@Override
public int compare(String o1, String o2) {
return o1.length() - o2.length();
}
};
List fruit = new ArrayList();
fruit.add("Banana");
fruit.add("Mandarin");
fruit.add("PineApple");
fruit.add("Apple");
Collections.sort(fruit,com);
System.out.println(fruit);
}
}
The last 2 mins are very insightful!! 😍😍
Good video. Thanks for leaving in the errors so we can learn.
best java instructor i’ve ever come across
I have been struggling to understand this for long and this video is what it was required to get it cleared. Thank you @NavinSir #Telusko
Thank you Mr.
You made it very simple and easy!
@telusko I loved your teaching style Naveen Reddy Sir,
It is not necessary for a Comparator to return -1 or 1 it can actually return any negative or positive integer only the sign matters. even 0 is allowed i guess.
this caused me confusion but you should have also mentioned it at the end for more nerdy people.
package java4AdvancedCollections;
import java.util.TreeSet;
public class TreeSetExample {
public static void main(String[] args) {
// Creating a TreeSet of integers (natural ordering)
TreeSet treeSet = new TreeSet();
// Adding elements to the TreeSet
treeSet.add(10);
treeSet.add(5);
treeSet.add(20);
treeSet.add(15);
// Printing the TreeSet (elements will be in ascending order)
System.out.println("TreeSet: " + treeSet);
// Creating a TreeSet with a custom comparator for descending order
TreeSet descendingTreeSet = new TreeSet((a, b) -> {
if (a > b) {
return -2;
} else {
return 2;
}
});
// Adding elements to the descending TreeSet
descendingTreeSet.add(10);
descendingTreeSet.add(5);
descendingTreeSet.add(20);
descendingTreeSet.add(15);
// Printing the descending TreeSet (elements will be in descending order)
System.out.println("Descending TreeSet: " + descendingTreeSet);
// Performing operations specific to NavigableSet interface
System.out.println("Ceiling of 12: " + treeSet.ceiling(12));
System.out.println("Floor of 12: " + treeSet.floor(12));
}
}
Hi Navin. as usual great video.. but most importantly comparator and comparable have always been things ive never understood.... until now.. the way you have explained is amazing and always wait for your amazing videos. and by the way the growth of your presentation and teaching skills have become better and better and we love it. Thanks a lot and will be waiting for lots more videos.
10/10 video and demonstration, absolutely love the dynamic, following along and coding beside you helps to learn efficiently
I must say this was one of the best videos explaining comparator and comparable concept.
Logic to sort elements based on the length of the string
import java.util.Comparator;
import java.util.*;
class Solution {
public static void main(String[] args) {
Comparator com = new Comparator(){
public int compare(String a , String b){
if(a.length() > b.length())
return 1;
else
return -1;
}
};
List nums = new ArrayList();
nums.add("Python");
nums.add("C++");
nums.add("Java");
nums.add("Django");
nums.add("SpringBoot");
nums.add("Spring");
Collections.sort(nums , com);
System.out.println(nums);
}
}
TASK :
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
class Hello {
public static void main(String a[]) {
Comparator com = new Comparator() {
public int compare(String i, String j)
{
if(i.length() < j.length())
return 1;
else
return -1;
}
};
List names = new ArrayList();
names.add("Navin");
names.add("Navin Reddy");
names.add("Telusko");
names.add("Navin Telusko");
Collections.sort(names, com);
System.out.println(names);
}
}
Correct 👍
Heck of a video! I have been trying to understand the differences for a long time, finally you cleared all of my doubts.
Had to watch an entire tutorial just because I thought I don't undertand java. After this video. i'm like OH MY GOD !!!!!!!!!
thanks for your explanation, sir. It helps me to understand comparable and comparator.
Great, got my concepts cleared . Thank you , sir!!!👍👍👍👍👍👍👍👍👍👍👍👍👍👍
Reddy ji! No words Thanks for your explanation
Just discovered this video and the explanation is awesome, it almost blew my mind
Excellent ❤❤ , feeling enjoyed the functional usage at the end
Understood today the real concept behind comparator and comparable
comparable and so no?1:00
Awesome guruji shukriya
Love your videos, learn new thing every time.
@telusko it is not necessary for a Comparator to return -1 or 1 it can actually return any negative or positive integer only the sign matters.
{even 0 is allowed i guess}
Now, I understood those concepts. Thanks
Synopsis:
If you want to give class the power to compare its object on its own then use Comparable otherwise use Comparator to define logic and pass its object in the Collections.sort() method....
finally understood thanks!
Here i have a doubt. Comparable is a functional interface. So we can override onlt compareTo() method and it is fine. But Comparator method is not a functional interface. How can we just override only menthod which is compare() and Java dosen't gives an error?
amazing video, gave me the summary i needed!
Excellent video. Well explained. Can you add a comment here on how to sort based on more than one field? Say name and age assuming student names are duplicated. thanks
Great Explanation. Thanks
Hats off to you, sir! 🙌
wonderful video, it helps me to understand the concept very clear . Example you are providing is just awesome sir. keep doing these kind of videos sir. thanks a lot.
1 for swap &
-1 for no swap
Homework:
import java.util.*;
class Solution {
public static void main(String[] args) {
// Write your code here
Comparator com=new Comparator(){
//jai mata di : Anonymous Inner class
public int compare(String s1, String s2){
if(s1.length()>s2.length()){
return 1;
}
else return -1;
}
};
List al=new ArrayList();
al.add("Rahul");
al.add("DK");
al.add("J");
Collections.sort(al,com);
System.out.println(al);
}
}
Nice explanation. which IDE is that ? - got it. Visual Studio
Thanks for the awesome explanation sir🎉
Nice explaination
thats a great video
covered all that i needed thank you
How you intantiated the comparator because comparator is an interface and we cannot instantiate interface?
Navin Reddy never disappoints
When i was a student in 2015 then also i used to come and watch java videos here. I now have almost 5 years of experience and when some Java work comes I come here again to refresh my memory. Thank you Navin. It feels like nostalgia sometimes watching your videos
Very helpful, thank you.
Great explanation
Great explanation, thank you so much!
Awesome Explanation!
This is great explanation.
your videos are awesome man
Thank you so much for this video ❤
7:28
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class first {
public static void main(String[] args) throws IOException
{
Comparator comp = new Comparator() {
public int compare(String s, String t) {
if (s.length() < t.length())
return 1;
else
return -1;
// throw new UnsupportedOperationException("Unimplemented method 'compare'");
}
};
List col=new ArrayList();
col.add("aaaaa");
col.add("aa");
col.add("aaaa");
col.add("a");
Collections.sort(col, comp);
System.out.println(col);
}
}
something meaningful to me
Sir what is meaning of 1 and -1 . I didn't understand that
7:20
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class compa {
public static void main(String[] args) {
Comparator y = new Comparator() {
public int compare(String i, String j) {
if (i.length() > j.length())
return 1;
else
return -1;
}
};
List names = new ArrayList();
names.add("Gnani");
names.add("Gnan");
names.add("Chapathi");
names.add("Gnanesh");
names.add("navin mava");
Collections.sort(names, y);
System.out.println(names);
}
}
Line no: 8 --> You have to specify Comparator on right side as well, its compulsory 3:03 . But I dono why it works without it.
@@codework2434 it's new update from official java it's unnecessary to mention on creating object of Comparator But in case of anonymous class we should!
do you understand?
@@sharabugnanesh3098 So, in your code above you left to mention the type, right ?
@@codework2434 yes I need to mention at left
@@sharabugnanesh3098 Thanks about the "official java update"
Thank you. very clear and helpful!
Nuvu king mava🤗
i love you man. I finally got it!
Great video, thanks !
Thank you for valuable video ❤️
Thanx jhonny
thank u sir very helpful . all clear now . Okay I have
sir can u upload generics concept
This video is tooo goood. THANK you
what if i try to implement Comparator on Student class, Navin reddy please explain this scenario
Cannot make a static reference to the non-static field compare
some times i am getting this error
in quick fix i got add static
static Comparator com = new Comparator() {
then it solved
thanks
great video sir
Do we always need to use Array List for comparator or can it be used for array also??
I think no
We can use any collection
Correct me if I am wrong
Thank you so much for this.
I have a doubt .... how many times this swapping happens??
you are the best
Sir please try to make videos with white screen
Thankyou sir
Comparator is an interface so how object will created??
we are implementing the logic with lambda expression
// Sort the list of strings on the basis of length of string.
List list = new ArrayList();
list.add("Navin Reddy sir");
list.add("Harendra Pandey jee");
list.add("Gautam");
list.add("Nitesh");
Comparator com = new Comparator() {
@Override
public int compare(String o1, String o2) {
if(o1.length()>o2.length())return 1;
else return -1;
}
};
System.out.println("List before sorting");
System.out.println(list);
System.out.println("List after sorting");
Collections.sort(list,com);
System.out.println(list);
Sir the collection is not a class it's an Interface
Collections is a class but Collection is an interface 😊
you know the person teaching you about java is legit when he is bald hehe. subscribed :)
My teacher in University who's teaching us java is also bald🤣 and he even looks so much like this youtuber!!
Thankyou Reddy Ji lots of love.
Very good videoes!
Awesome video !!!
thanks
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Comparator;
public class ChallengLQREA {
public static void main(String[] args) {
Comparator cmp = new Comparator() {
public int compare(String o1, String o2) {
if(o1.length() < o2.length())
return -1;
else
return 1 ;
}
};
ArrayList SortStrings = new ArrayList();
SortStrings.add("Amine");
SortStrings.add("Saberrr");
SortStrings.add("Aichaa");
SortStrings.add("Bahtiiii");
Collections.sort(SortStrings,cmp );
System.out.println(SortStrings);
}
package basics;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class demo {
public static void main(String[] args) {
Comparator com = new Comparator()
{
public int compare(String i, String j) {
if(i.length()
can any body tell me why return 1 and -1 is used .
Yes please..
Can anyone help me waht is (a:) this label oprator why we use it
I have a quetion, why by returning 1 , the swapping is happenning?It doesn't make sense to me,plz explain
Hello! Returning 1 means that a is greater than b. Returning -1 means b is greater than a. Returning 0 means a equals b. I hope this helps!
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class Student {
public static void main(String[] args) {
Comparator com = ( i, j) -> s1.length()>s2.length()? 1 : -1;
List names = new ArrayList();
names.add("Nathan");
names.add("Dominic");
names.add("Nikita");
names.add("Sharon");
names.add("Jessica");
Collections.sort(names, com);
System.out.println(names);
}
}
You are explaining saying sort() works using bubblesort in the background, which need not be the case, don't give wrong info. In case of java it uses, duel pivot quick sort sort alogithm. Why you pass in comparator, you are only letting the sort know how to compare the values, not the whole sorting.
Sorting string by length
package Collection;
import java.util.*;
public class SortStringByLen {
public static void main(String[] args) {
ArrayList ob = new ArrayList();
ArrayList ob1 = new ArrayList();
Comparator c1 = new Comparator() {
public int compare(String i ,String j){
if(i.length()>j.length()){
return 1;
}
else{
return -1;
}
}
};
Scanner sc = new Scanner(System.in);
System.out.println("Enter the names: ");
String str;
int len;
for(int i=0;i
You are awesome 👏👏👏
How did you replace nums to studs?
its just find and replace
awesome ❤
aaj mai alien banne vaala tha sir but aaj bhi merko aadhi cheeze samajh nahi aayi
Ternary Operator ❌ Tatari Operator ✔
what is the IDE he is using?
Vs code
but IntelliJ IDEA works better
opiest explaination
Too greedy with the ads
What if two students have the same age?