ArrayList<Long>ক্রমহ্রাসমান ক্রমে জাভাতে কীভাবে বাছাই করবেন ?
উত্তর:
আপনার জন্য এখানে একটি উপায় list:
list.sort(null);
Collections.reverse(list);
বা Comparatorবিপরীত পদক্ষেপটি বাছাই করতে এবং বাদ দিতে আপনি নিজের প্রয়োগ করতে পারেন:
list.sort((o1, o2) -> o2.compareTo(o1));
বা আরও সহজভাবে ব্যবহার করুন Collections.reverseOrder()যেহেতু আপনি কেবল বিপরীত হন:
list.sort(Collections.reverseOrder());
o2.compareTo(o1)এখানে থাকা দরকার :)
list.sort((o1, o2) -> o2.compareTo(o1))
Comparator<Long> comparator = Collections.reverseOrder();
Collections.sort(arrayList, comparator);
আপনি নীচের দেওয়া নিম্নলিখিত কোড ব্যবহার করতে পারেন;
Collections.sort(list, Collections.reverseOrder());
অথবা আপনি যদি কাস্টম তুলনামূলক ব্যবহার করতে যাচ্ছেন তবে নীচে যেমনটি দেওয়া হয়েছে তেমন ব্যবহার করতে পারেন
Collections.sort(list, Collections.reverseOrder(new CustomComparator());
যেখানে কাস্টমকম্পরেটর একটি তুলনামূলক শ্রেণি যা তালিকার উপস্থিত বস্তুর সাথে তুলনা করে।
ভাল জাভা 8 এ করা এত মজা এবং সহজ
Collections.sort(variants,(a,b)->a.compareTo(b));
Collections.reverse(variants);
লাম্বদা এক্সপ্রেশন এখানে রক !!!
a এবং b এর তুলনা করার জন্য যদি আপনার একাধিক লাইনের যুক্তি প্রয়োজন হয় তবে আপনি এটি লিখতে পারেন
Collections.sort(variants,(a,b)->{
int result = a.compareTo(b);
return result;
});
সাধারণত বাছাই করুন এবং ব্যবহার করুন Collections.reverse();
বাছাই করুন, তারপরে বিপরীত করুন।
Collections.sort()ক্রমহ্রাসমান ক্রম সরবরাহ করে এমন একটি তুলনামূলক ব্যবহার করে । জন্য Javadoc দেখুন Collections.sort ।
নীচে হিসাবে আমাদের নিজস্ব তুলনামূলক বাস্তবায়নের জন্য আরও সাধারণ পন্থা
Collections.sort(lst,new Comparator<Long>(){
public int compare(Long o1, Long o2) {
return o2.compareTo(o1);
}
});
নিম্নলিখিত পদ্ধতিটি তালিকাটিকে অবতরণ ক্রমে সাজিয়ে রাখবে এবং ' নাল ' মানগুলিও পরিচালনা করবে , যদি আপনার কোনও নাল মান থাকে তবে কালেকশনস.সোর্ট () নালপয়েন্টার এক্সেকশনটি নিক্ষেপ করবে
Collections.sort(list, new Comparator<Long>() {
public int compare(Long o1, Long o2) {
return o1==null?Integer.MAX_VALUE:o2==null?Integer.MIN_VALUE:o2.compareTo(o1);
}
});
আপনি এ এর পরিবর্তে ArrayListএকটি বাছাই করতে পারেন । একটি পূর্ণসংখ্যার অ্যারের জন্য আমার আগে যে প্রশ্নটি হয়েছিল তার উদাহরণ এখানে। আমি "নম্বর" এর জন্য স্থানধারকের নাম হিসাবে ব্যবহার করছি ।TreeSetcomparatorArrayList
import.java.util.*;
class MyClass{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
ArrayList<Integer> numbers = new ArrayList<Integer>();
TreeSet<Integer> ts = new TreeSet<Integer>(numbers);
numbers = new ArrayList<Integer>(ts);
System.out.println("\nThe numbers in ascending order are:");
for(int i=0; i<numbers.size(); i++)
System.out.print(numbers.get(i).intValue()+" ");
System.out.println("\nThe numbers in descending order are:");
for(int i=numbers.size()-1; i>=0; i--)
System.out.print(numbers.get(i).intValue()+" ");
}
}
সুতরাং, আমি এমন কিছু বিষয় আনতে চাই যা আমি মনে করি যেটি গুরুত্বপূর্ণ এবং আমি মনে করি আপনার বিবেচনা করা উচিত। রানটাইম এবং স্মৃতি। বলুন যে আপনার একটি তালিকা আছে এবং এটি বাছাই করতে চান, ভাল আপনি পারেন, এখানে একটি বিল্ট বাছাই করা আছে বা আপনি নিজের তৈরি করতে পারেন। তারপরে আপনি বলেন, তালিকাটি উল্টাতে চাই। এটি উত্তর যা উপরে তালিকাভুক্ত রয়েছে।
আপনি যদি সেই তালিকাটি তৈরি করে থাকেন তবে এটি সঞ্চয় করার জন্য আলাদা কোনও ডেটাস্ট্রাকচার ব্যবহার করা ভাল এবং তারপরে এটি কেবল অ্যারেতে ফেলে দেওয়া ভাল।
স্তূপগুলি কেবল এটি করে। আপনি ডেটাতে ফিল্টার করেন, এবং এটি সবকিছু পরিচালনা করবে, তারপরে আপনি বস্তুর বাইরে সমস্ত কিছু পপ করতে পারেন এবং এটি বাছাই করা হবে।
আরেকটি বিকল্প হ'ল মানচিত্র কীভাবে কাজ করে তা বোঝা হবে। অনেক সময়, কোনও মানচিত্র বা হ্যাশম্যাপের কোনও জিনিস বলা হয়, এর পিছনে অন্তর্নিহিত ধারণা থাকে have
উদাহরণ হিসেবে বলা যায় .... আপনি কী-মান জোড়া একটি গুচ্ছ খাবার যেখানে চাবি দীর্ঘ, এবং আপনি সব উপাদান যোগ করুন, আপনি কি করতে পারেন: .keysঅথচ তা তোমাদের কাছে একটি সাজানো তালিকা আপনাআপনি ফিরে আসবে।
এটি আপনার সাজানোর এবং পরবর্তী বিপরীতগুলি দিয়ে কীভাবে চালিয়ে যাওয়া উচিত বলে আমি মনে করি তার আগে আপনি কীভাবে ডেটা প্রক্রিয়াকরণ করবেন তার উপর নির্ভর করে
ব্যবহার List.sort()এবংComparator.comparingLong()
numberList.sort(Comparator.comparingLong(x -> -x));
l1 > l2 ? -1 : l1 == l2 ? 0 : 1এই কোড হাস্যকর।o1.compareTo(o2)তারপর ব্যবহার করুন ।