#95 Comparator vs Comparable in Java

Поделиться
HTML-код
  • Опубликовано: 17 ноя 2024

Комментарии • 128

  • @naul2k74
    @naul2k74 Год назад +39

    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

    • @jnslzr
      @jnslzr Месяц назад

      same, our teacher here literally sent us to read javadocs =)

  • @Noah-zc6mv
    @Noah-zc6mv Год назад +25

    So glad you're updating your older videos. Helpful as always! 😁

  • @suhailsharieff155
    @suhailsharieff155 10 месяцев назад +7

    Navin sir.... Really fond of u..... I sat for 5 hrs to understand it.... Now im crystal clear

  • @shraddhashetty8659
    @shraddhashetty8659 Год назад +4

    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);

    }

    }

  • @varsheethtv
    @varsheethtv Год назад +6

    The last 2 mins are very insightful!! 😍😍

  • @Democracy_Manifest
    @Democracy_Manifest Год назад +18

    Good video. Thanks for leaving in the errors so we can learn.

  • @rhea1149
    @rhea1149 11 месяцев назад +4

    best java instructor i’ve ever come across

  • @ekanshmishra4517
    @ekanshmishra4517 Месяц назад +2

    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

  • @dypsking3414
    @dypsking3414 Год назад +3

    Thank you Mr.
    You made it very simple and easy!

  • @karanraut4417
    @karanraut4417 10 месяцев назад

    @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));
    }
    }

  • @AmeyChittar
    @AmeyChittar Год назад +6

    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.

  • @tarekabushaheen7593
    @tarekabushaheen7593 6 месяцев назад +1

    10/10 video and demonstration, absolutely love the dynamic, following along and coding beside you helps to learn efficiently

  • @vikrantsingh2804
    @vikrantsingh2804 8 месяцев назад

    I must say this was one of the best videos explaining comparator and comparable concept.

  • @inspiredomkar1239
    @inspiredomkar1239 Год назад +2

    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);
    }
    }

  • @gurrammahenderreddy4586
    @gurrammahenderreddy4586 Год назад +3

    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);
    }
    }

  • @moviecraze6079
    @moviecraze6079 4 месяца назад

    Heck of a video! I have been trying to understand the differences for a long time, finally you cleared all of my doubts.

  • @uLise4Life
    @uLise4Life Год назад +1

    Had to watch an entire tutorial just because I thought I don't undertand java. After this video. i'm like OH MY GOD !!!!!!!!!

  • @Sumanth_Siddareddy
    @Sumanth_Siddareddy Год назад +1

    thanks for your explanation, sir. It helps me to understand comparable and comparator.

  • @pratikkumarsingh8114
    @pratikkumarsingh8114 Год назад

    Great, got my concepts cleared . Thank you , sir!!!👍👍👍👍👍👍👍👍👍👍👍👍👍👍

  • @deepthimalepatiii247
    @deepthimalepatiii247 8 месяцев назад

    Reddy ji! No words Thanks for your explanation

  • @franciscomambo4120
    @franciscomambo4120 7 месяцев назад

    Just discovered this video and the explanation is awesome, it almost blew my mind

  • @beinghuman63393
    @beinghuman63393 Год назад +1

    Excellent ❤❤ , feeling enjoyed the functional usage at the end

  • @abhinavmishra9690
    @abhinavmishra9690 Год назад +2

    Understood today the real concept behind comparator and comparable

  • @SphereofTime
    @SphereofTime Месяц назад

    comparable and so no?1:00

  • @priyanshukhullar-tc7ss
    @priyanshukhullar-tc7ss Год назад +1

    Awesome guruji shukriya

  • @adityarao7249
    @adityarao7249 Год назад +1

    Love your videos, learn new thing every time.

  • @karanraut4417
    @karanraut4417 10 месяцев назад

    @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}

  • @mikedelta658
    @mikedelta658 9 месяцев назад

    Now, I understood those concepts. Thanks

  • @rahuljmd
    @rahuljmd 5 месяцев назад

    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....

  • @yusrax3
    @yusrax3 2 месяца назад +1

    finally understood thanks!

  • @shriharis.s3296
    @shriharis.s3296 2 месяца назад +1

    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?

  • @emmaruhcheva3658
    @emmaruhcheva3658 5 месяцев назад

    amazing video, gave me the summary i needed!

  • @shankil2975
    @shankil2975 Год назад

    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

  • @abrorallaberganov6293
    @abrorallaberganov6293 4 месяца назад

    Great Explanation. Thanks

  • @ManojPatil-z8m
    @ManojPatil-z8m 3 месяца назад

    Hats off to you, sir! 🙌

  • @vinethasuresh3488
    @vinethasuresh3488 Год назад

    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.

  • @sumantagorai5880
    @sumantagorai5880 Год назад

    1 for swap &
    -1 for no swap

  • @rahuljmd
    @rahuljmd 5 месяцев назад +6

    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);
    }
    }

  • @aashuk
    @aashuk Год назад

    Nice explanation. which IDE is that ? - got it. Visual Studio

  • @tej3679
    @tej3679 Год назад

    Thanks for the awesome explanation sir🎉

  • @lovemishra8137
    @lovemishra8137 5 месяцев назад

    Nice explaination

  • @student_03
    @student_03 Год назад +1

    thats a great video
    covered all that i needed thank you

  • @sai-dx1vb
    @sai-dx1vb 10 месяцев назад +1

    How you intantiated the comparator because comparator is an interface and we cannot instantiate interface?

  • @francksgenlecroyant
    @francksgenlecroyant Год назад

    Navin Reddy never disappoints

  • @gyanendramaurya1796
    @gyanendramaurya1796 8 месяцев назад

    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

  • @soumyadeepchatterjee2189
    @soumyadeepchatterjee2189 10 месяцев назад

    Very helpful, thank you.

  • @akshaysilgari2097
    @akshaysilgari2097 11 месяцев назад

    Great explanation

  • @leonsvideos
    @leonsvideos Год назад

    Great explanation, thank you so much!

  • @harshsuchak8370
    @harshsuchak8370 Год назад

    Awesome Explanation!

  • @nischalofchrist
    @nischalofchrist Год назад

    This is great explanation.

  • @jeffro8807
    @jeffro8807 9 месяцев назад

    your videos are awesome man

  • @Sriram-ii8oo
    @Sriram-ii8oo 10 дней назад

    Thank you so much for this video ❤

  • @Manjot_singh2002
    @Manjot_singh2002 9 месяцев назад +1

    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);
    }
    }

  • @hmmgmm2841
    @hmmgmm2841 Год назад +1

    something meaningful to me

  • @stargaming3103
    @stargaming3103 Год назад +2

    Sir what is meaning of 1 and -1 . I didn't understand that

  • @sharabugnanesh3098
    @sharabugnanesh3098 Год назад +1

    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);
    }
    }

    • @codework2434
      @codework2434 Год назад +1

      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.

    • @sharabugnanesh3098
      @sharabugnanesh3098 Год назад +1

      ​​@@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?

    • @codework2434
      @codework2434 Год назад

      @@sharabugnanesh3098 So, in your code above you left to mention the type, right ?

    • @sharabugnanesh3098
      @sharabugnanesh3098 Год назад +1

      @@codework2434 yes I need to mention at left

    • @codework2434
      @codework2434 Год назад +1

      @@sharabugnanesh3098 Thanks about the "official java update"

  • @zeldaking2429
    @zeldaking2429 Год назад

    Thank you. very clear and helpful!

  • @GowthamE-l9r
    @GowthamE-l9r Год назад

    Nuvu king mava🤗

  • @lxy2670
    @lxy2670 Год назад

    i love you man. I finally got it!

  • @macedoedit5797
    @macedoedit5797 Год назад

    Great video, thanks !

  • @devabdul
    @devabdul Год назад

    Thank you for valuable video ❤️

  • @kidoo1567
    @kidoo1567 7 месяцев назад

    Thanx jhonny

  • @santoshchhetrithapa3573
    @santoshchhetrithapa3573 Год назад

    thank u sir very helpful . all clear now . Okay I have

  • @SrinivasKumar-v3c
    @SrinivasKumar-v3c 5 месяцев назад

    sir can u upload generics concept

  • @swacharahman5084
    @swacharahman5084 Год назад

    This video is tooo goood. THANK you

  • @srikanthatthota2151
    @srikanthatthota2151 7 месяцев назад

    what if i try to implement Comparator on Student class, Navin reddy please explain this scenario

  • @mrchaitu7
    @mrchaitu7 3 месяца назад

    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

  • @hygef-v4
    @hygef-v4 4 месяца назад

    thanks

  • @ketansharma6955
    @ketansharma6955 Год назад

    great video sir

  • @SugamSangeetwdSavita
    @SugamSangeetwdSavita Год назад

    Do we always need to use Array List for comparator or can it be used for array also??

  • @awkward_adi
    @awkward_adi Год назад

    Thank you so much for this.

  • @abhishekk3561
    @abhishekk3561 Год назад

    I have a doubt .... how many times this swapping happens??

  • @bharath3207
    @bharath3207 Год назад

    you are the best

  • @abhijeetkulkarni8246
    @abhijeetkulkarni8246 Год назад

    Sir please try to make videos with white screen

  • @AmitSingh-xc9qe
    @AmitSingh-xc9qe 3 месяца назад

    Thankyou sir

  • @-GANGUPALLIMAHAMMED
    @-GANGUPALLIMAHAMMED Год назад

    Comparator is an interface so how object will created??

  • @gautamkumarpandey9494
    @gautamkumarpandey9494 Год назад +4

    // 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);

  • @ESECYogeshS
    @ESECYogeshS Год назад +2

    Sir the collection is not a class it's an Interface

    • @Forty3Stories
      @Forty3Stories Год назад

      Collections is a class but Collection is an interface 😊

  • @xacademia9646
    @xacademia9646 Год назад +35

    you know the person teaching you about java is legit when he is bald hehe. subscribed :)

    • @tsum3489
      @tsum3489 Год назад +1

      My teacher in University who's teaching us java is also bald🤣 and he even looks so much like this youtuber!!

  • @priyanshukhullar-tc7ss
    @priyanshukhullar-tc7ss Год назад +1

    Thankyou Reddy Ji lots of love.

  • @hadse1234
    @hadse1234 Год назад

    Very good videoes!

  • @prateekgoel7154
    @prateekgoel7154 3 месяца назад

    Awesome video !!!

  • @mazerati935
    @mazerati935 Год назад

    thanks

  • @aminesaber467
    @aminesaber467 Год назад +1

    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);


    }

  • @Shri577
    @Shri577 3 месяца назад

    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()

  • @Vaishnav-zk2tf
    @Vaishnav-zk2tf Год назад +2

    can any body tell me why return 1 and -1 is used .

  • @ABHIJEETBHUJADE
    @ABHIJEETBHUJADE 3 месяца назад

    Can anyone help me waht is (a:) this label oprator why we use it

  • @nazeebahmed1050
    @nazeebahmed1050 Год назад

    I have a quetion, why by returning 1 , the swapping is happenning?It doesn't make sense to me,plz explain

    • @audiomac
      @audiomac 9 месяцев назад

      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!

  • @dominicdumenil861
    @dominicdumenil861 9 месяцев назад

    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);
    }
    }

  • @ooogabooga5111
    @ooogabooga5111 6 месяцев назад

    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.

  • @sayantanhalder1056
    @sayantanhalder1056 4 месяца назад +1

    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

  • @sudeepbansal5234
    @sudeepbansal5234 Год назад

    You are awesome 👏👏👏

  • @abdulwadoodh5757
    @abdulwadoodh5757 Год назад

    How did you replace nums to studs?

  • @unemployedcse3514
    @unemployedcse3514 Месяц назад

    awesome ❤

  • @yashjoshi5709
    @yashjoshi5709 Год назад

    aaj mai alien banne vaala tha sir but aaj bhi merko aadhi cheeze samajh nahi aayi

  • @ROSHAN-HARI-BALAJE
    @ROSHAN-HARI-BALAJE 4 месяца назад

    Ternary Operator ❌ Tatari Operator ✔

  • @WolnośćUmysłu
    @WolnośćUmysłu Год назад

    what is the IDE he is using?

  • @abhishekkumargupta9548
    @abhishekkumargupta9548 Год назад

    opiest explaination

  • @abukhandaker7558
    @abukhandaker7558 9 месяцев назад

    Too greedy with the ads

  • @actandrepeat
    @actandrepeat Год назад

    What if two students have the same age?