Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Java

जावा में तुलना () और तुलना () विधियों के बीच अंतर क्या हैं?

तुलनीय इंटरफ़ेस एक तुलना करने के लिए () . प्रदान करता है वस्तुओं के क्रम के लिए विधि। इस आदेश को वर्ग का . कहा जाता है प्राकृतिक क्रम और तुलना करें () विधि को इसकी प्राकृतिक तुलना विधि . कहा जाता है . तुलनित्र इंटरफ़ेस सॉर्टिंग ऑपरेशन करने के तरीके प्रदान करता है . तुलनित्र . का उपयोग करके इंटरफ़ेस हम एकाधिक सॉर्टिंग अनुक्रम कर सकते हैं . हम कई डेटा सदस्यों के संबंध में वस्तुओं को क्रमबद्ध कर सकते हैं।

तुलना करें ()

तुलना करें () विधि इस ऑब्जेक्ट की तुलना o1 ऑब्जेक्ट से करती है और एक पूर्णांक देता है

सिंटैक्स

public int compareTo(Object o1)
  • यह -ve नंबर देता है अगर और केवल अगर यह ऑब्जेक्ट o1 से कम है।
  • यह +ve नंबर देता है अगर और केवल अगर यह ऑब्जेक्ट o1 से बड़ा है।
  • यह 0 देता है अगर और केवल अगर यह वस्तु o1 के बराबर है।

उदाहरण

import java.util.*;
class Employee implements Comparable {
   String name;
   int age;
   Employee(String name, int age) {
      this.name = name;
      this.age = age;
   }
   //overridden compareTo method
   @Override
   public int compareTo(Object o) {
      return this.age - ((Employee) o).age;
   }
}
public class ComparableDemo {
   public static void main(String[] args) {
      // CREATION
      List list = new ArrayList<>();
      //INSERTION
      list.add(new Employee("Krishna", 30));
      list.add(new Employee("Archana", 28));
      list.add(new Employee("Vineet", 25));
      list.add(new Employee("Ramesh", 38));
      list.add(new Employee("Alok", 28));
      System.out.println("Before sorting: ");
      for (Employee e : list) {
         System.out.print("[ EMP : age = " + e.age + " ] ");
      }
      //SORTING
      Collections.sort(list);
      System.out.println("After sorting: ");
      for (Employee e : list) {
         System.out.print("[ EMP : age = " + e.age + " ] ");
      }
   }
}

आउटपुट

Before sorting:
[ EMP : age = 2 ] [ EMP : age = 33 ] [ EMP : age = 11 ] [ EMP : age = 34 ] [ EMP : age = 7 ]
After sorting:
[ EMP : age = 2 ] [ EMP : age = 7 ] [ EMP : age = 11 ] [ EMP : age = 33 ] [ EMP : age = 34 ]

तुलना करें ()

तुलना करें () विधि पहली वस्तु की दूसरी वस्तु से तुलना करती है और एक पूर्णांक लौटाती है

सिंटैक्स

public int compare (Object o1,Object o2)
  • यह -ve संख्या देता है यदि और केवल यदि o1 o2 से कम है
  • यह +ve नंबर देता है अगर और केवल अगर o1 o2 से बड़ा है
  • यह 0 देता है यदि और केवल यदि o1 o2 के बराबर है

उदाहरण

import java.util.*;
class Student {
   String name;
   int age, roll;
   Student(String name, int age, int roll) {
      this.name = name;
      this.age = age;
      this.roll = roll;
   }
}
class AgeComparator implements Comparator {
   @Override
   public int compare(Object o1, Object o2) {
      return ((Student) o1).age - ((Student) o2).age;
   }
}
class RollComparator implements Comparator {
   @Override
   public int compare(Object o1, Object o2) {
      return ((Student) o1).roll - ((Student) o2).roll;
   }
}
public class ComparatorDemo {
   public static void main(String[] args) {
      List list = new ArrayList<>();
      list.add(new Student("Ramesh", 30, 20));
      list.add(new Student("Adithya", 7, 10));
      list.add(new Student("Krishna", 25, 5));
      list.add(new Student("Vineet", 24, 15));
      System.out.println("BEFORE SORTING");
      for (Student e : list) {
         System.out.println("[ STU : name = " + e.name + " age = " + e.age + " roll = " + e.roll + "]");
      }
      Collections.sort(list,new AgeComparator());
      System.out.println("AFTER SORTING WITH AGE");
      for (Student e : list) {
         System.out.println("[ STU : name = " + e.name + " age = " + e.age + " ]");
      }
      Collections.sort(list,new RollComparator());
      System.out.println("AFTER SORTING WITH ROLL");
      for (Student e : list) {
         System.out.println("[ STU : name = " + e.name + " roll = " + e.roll + " ]");
      }
   }
}

आउटपुट

BEFORE SORTING
[ STU : name = Ramesh age = 30 roll = 20 ]
[ STU : name = Adithya age = 7 roll = 10 ]
[ STU : name = Krishna age = 25 roll = 5 ]
[ STU : name = Vineet age = 24 roll = 15 ]
AFTER SORTING WITH AGE
[ STU : name = Adithya age = 7 ]
[ STU : name = Vineet age = 24 ]
[ STU : name = Krishna age = 25 ]
[ STU : name = Ramesh age = 30 ]
AFTER SORTING WITH ROLL
[ STU : name = Krishna roll = 5 ]
[ STU : name = Adithya roll = 10 ]
[ STU : name = Vineet roll = 15 ]
[ STU : name = Ramesh roll = 20 ]

  1. जावा में JTextField और JTextArea के बीच क्या अंतर हैं?

    JTextField . के बीच मुख्य अंतर और JTextArea जावा में यह है कि एक JTextField पाठ की एक पंक्ति . में प्रवेश करने की अनुमति देता है GUI एप्लिकेशन में जबकि JTextArea पाठ की एक से अधिक पंक्तियाँ entering दर्ज करने की अनुमति देता है GUI एप्लिकेशन में। JTextField एक JTextFeld सबसे महत्वपूर्ण घटकों म

  1. जावा में JFrame और JDialog में क्या अंतर हैं?

    जेफ्रेम फ्रेम में जोड़े गए घटकों को इसकी सामग्री के रूप में संदर्भित किया जाता है, इन्हें contentPane द्वारा प्रबंधित किया जाता है . JFrame . में एक घटक जोड़ने के लिए , हमें इसके contentPane . का उपयोग करना चाहिए इसके बजाय। एक JFrame शीर्षक . के साथ एक विंडो है , सीमा , (वैकल्पिक) मेनू बार और उप

  1. Java में GridLayout और GridBagLayout में क्या अंतर हैं?

    एक ग्रिडलेआउट सभी घटकों को एक आयताकार ग्रिड में रखता है और समान आकार के आयतों . में विभाजित किया जाता है और प्रत्येक घटक को एक आयत के अंदर रखा जाता है जबकि GridBagLayout एक लचीला . है लेआउट प्रबंधक जो घटकों को लंबवत और क्षैतिज रूप से . संरेखित करता है यह आवश्यक नहीं है कि घटक समान आकार के हों।