আমি জাভা লাম্বদা ব্যবহার করছি একটি তালিকা বাছাই করতে।
আমি কীভাবে এটি বিপরীতে সাজিয়ে তুলতে পারি?
আমি এই পোস্টে দেখেছি , তবে আমি জাভা 8 লম্বা ব্যবহার করতে চাই।
এখানে হ্যাক হিসাবে আমার কোড (আমি * -1 ব্যবহার করেছি)
Arrays.asList(files).stream()
.filter(file -> isNameLikeBaseLine(file, baseLineFile.getName()))
.sorted(new Comparator<File>() {
public int compare(File o1, File o2) {
int answer;
if (o1.lastModified() == o2.lastModified()) {
answer = 0;
} else if (o1.lastModified() > o2.lastModified()) {
answer = 1;
} else {
answer = -1;
}
return -1 * answer;
}
})
.skip(numOfNewestToLeave)
.forEach(item -> item.delete());
forEachOrderedপরিবর্তে ব্যবহার করতে চানforEach
forEachOrderedনাম অনুসারে, এনকাউন্টার অর্ডারটি সম্পর্কে প্রাসঙ্গিক যা আপনি নির্দিষ্ট কিছু সংখ্যক নতুন ফাইল এড়িয়ে যেতে চান যা "পরিবর্তনের সময় অনুসারে বাছাই করা" আদেশের উপর নির্ভর করে ।
sort→ skip→ (unordered) forEachকাজ করা উচিত, এটা প্রকৃতপক্ষে আজকের JREs এই ভাবে কাজ করতে বাস্তবায়িত হয় সঠিক এবং কিন্তু 2015, ফিরে যখন পূর্ববর্তী মন্তব্য করা হয়েছে, এটা সত্যিই একটি সমস্যা ছিল (আপনি এই প্রশ্নে পড়তে পারেন )।
-1 * answerকরেনanswerতবে অর্ডারটি যা ছিল তার বিপরীতে পরিবর্তন হবে-1 * ...।