কম্পিউটার

জাভাতে compareTo() এবং compare() পদ্ধতির মধ্যে পার্থক্য কি?


তুলনাযোগ্য ইন্টারফেস একটি compareTo() প্রদান করে বস্তুর অর্ডার করার পদ্ধতি। এই ক্রমটিকে শ্রেণীর বলা হয় প্রাকৃতিক আদেশ এবং compareTo() পদ্ধতিটিকে এর প্রাকৃতিক তুলনা পদ্ধতি বলা হয় . তুলনাকারী ইন্টারফেস সর্টিং অপারেশন সম্পাদনের পদ্ধতি প্রদান করে . তুলনাকারী ব্যবহার করে ইন্টারফেস আমরা একাধিক বাছাই ক্রম করতে পারি . আমরা একাধিক ডেটা সদস্যের সাপেক্ষে বস্তুগুলিকে সাজাতে পারি৷

তুলনা করুন()

তুলনা করুন() পদ্ধতি এই বস্তুটিকে একটি o1 বস্তুর সাথে তুলনা করে এবং একটি পূর্ণসংখ্যা প্রদান করে .

সিনট্যাক্স

public int compareTo(Object o1)
  • এটি –ve সংখ্যা প্রদান করে যদি এবং শুধুমাত্র যদি এই বস্তুটি o1 এর কম হয়।
  • এটি +ve নম্বর প্রদান করে যদি এবং শুধুমাত্র যদি এই বস্তুটি o1 এর থেকে বড় হয়।
  • এটি 0 প্রদান করে যদি এবং শুধুমাত্র যদি এই বস্তুটি o1 এর সমান হয়।

উদাহরণ

 import java.util.*;শ্রেণীর কর্মচারী তুলনামূলক { স্ট্রিং নাম; int বয়স; কর্মচারী (স্ট্রিং নাম, int বয়স) { this.name =name; this.age =বয়স; } //overridden compareTo পদ্ধতি @Override public int compareTo(Object o) { return this.age - ((Employee) o).age; }}পাবলিক ক্লাস কম্পারেবলডেমো { পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস) { // ক্রিয়েশন লিস্ট লিস্ট =নতুন অ্যারেলিস্ট<>(); //INSERTION list.add(নতুন কর্মচারী("কৃষ্ণ", 30)); list.add(নতুন কর্মচারী("অর্চনা", ২৮)); list.add(নতুন কর্মচারী("Vineet", 25)); list.add(নতুন কর্মচারী("রমেশ", 38)); list.add(নতুন কর্মচারী("আলোক", ২৮)); System.out.println("বাছাই করার আগে:"); জন্য (কর্মচারী ই :তালিকা) { System.out.print("[ EMP :বয়স =" + e.age + " ] "); } // SORTING Collections.sort(তালিকা); System.out.println("বাছাই করার পর:"); জন্য (কর্মচারী ই :তালিকা) { System.out.print("[ EMP :বয়স =" + e.age + " ] "); } } }

আউটপুট

<প্রে>বাছাই করার আগে:[ EMP :বয়স =2 ] [ EMP :বয়স =33 ] [ EMP :বয়স =11 ] [ EMP :বয়স =34 ] [ EMP :বয়স =7 ] সাজানোর পর:[ EMP :বয়স =2 ] [ EMP :বয়স =7 ] [ EMP :বয়স =11 ] [ EMP :বয়স =33 ] [ EMP :বয়স =34 ]

তুলনা ()

তুলনা () পদ্ধতিটি দ্বিতীয় বস্তুর সাথে প্রথম বস্তুর তুলনা করে এবং একটি পূর্ণসংখ্যা প্রদান করে

সিনট্যাক্স

পাবলিক int তুলনা (অবজেক্ট o1,অবজেক্ট o2)
  • এটি –ve সংখ্যা প্রদান করে যদি এবং শুধুমাত্র যদি o1 o2 এর থেকে কম হয়
  • এটি +ve সংখ্যা প্রদান করে যদি এবং শুধুমাত্র যদি o1 o2 এর থেকে বড় হয়
  • এটি 0 প্রদান করে যদি এবং শুধুমাত্র যদি o1 o2 এর সমান হয়

উদাহরণ

 java.util.*;শ্রেণির ছাত্র { স্ট্রিং নাম; int বয়স, রোল; ছাত্র (স্ট্রিং নাম, int বয়স, int রোল) { this.name =name; this.age =বয়স; this.roll =রোল; }} class AgeComparator Comparator প্রয়োগ করে { @Override public int compare(Object o1, Object o2) { return ((Student) o1).age - ((Student) o2).age; }} class RollComparator Comparator প্রয়োগ করে { @Override public int compare(Object o1, Object o2) { return ((Student) o1).roll - ((Student) o2).roll; }}পাবলিক ক্লাস কম্পারেটরডেমো { পাবলিক স্ট্যাটিক ভ্যাইড মেইন(স্ট্রিং[] আর্গস) { তালিকা তালিকা =নতুন অ্যারেলিস্ট<>(); list.add(নতুন ছাত্র("রমেশ", 30, 20)); list.add(নতুন ছাত্র("আদিত্য", 7, 10)); list.add(নতুন ছাত্র("কৃষ্ণ", 25, 5)); list.add(নতুন ছাত্র("Vineet", 24, 15)); System.out.println("বাছাই করার আগে"); (ছাত্র e :তালিকা) { System.out.println("[ STU :name =" + e.name + " age =" + e.age + " roll =" + e.roll + "]"); } Collections.sort(তালিকা,নতুন AgeComparator()); System.out.println("বয়সের সাথে সাজানোর পর"); জন্য (ছাত্র e :তালিকা) { System.out.println("[ STU :name =" + e.name + " age =" + e.age + " ]"); } Collections.sort(তালিকা,নতুন রোলকম্পারেটর()); System.out.println("আফটার সর্টিং উইথ রোল"); (ছাত্র e :তালিকা) { System.out.println("[ STU :name =" + e.name + " roll =" + e.roll + " ]"); } } }

আউটপুট

বাছাই করার আগে [ STU :নাম =রমেশ বয়স =30 রোল =20 ][ STU :নাম =আদিত্য বয়স =7 রোল =10 ][ STU :নাম =কৃষ্ণের বয়স =25 রোল =5 ][ STU :নাম =বিনীত বয়স =24 রোল =15 ]বয়স অনুসারে বাছাই করার পর[ STU :নাম =আদিত্য বয়স =7 ][ STU :নাম =বিনীতের বয়স =24 ][ STU :নাম =কৃষ্ণের বয়স =25 ][ STU :নাম =রমেশ বয়স =30 রোল দিয়ে সাজানোর পর [ STU :name =Krishna roll =5 ][ STU :name =Aditya roll =10 ][ STU :name =Vineet roll =15 ][ STU :name =Ramesh roll =20 ]

  1. জাভাতে JRadioButton এবং JCheckBox এর মধ্যে পার্থক্য কি?

  2. জাভাতে JTextField এবং JTextArea এর মধ্যে পার্থক্য কি?

  3. জাভাতে JFrame এবং JDialog এর মধ্যে পার্থক্য কি?

  4. জাভাতে GridLayout এবং GridBagLayout এর মধ্যে পার্থক্য কি?