আমি জাভা লাম্বদা ব্যবহার করছি একটি তালিকা বাছাই করতে।
আমি কীভাবে এটি বিপরীতে সাজিয়ে তুলতে পারি?
আমি এই পোস্টে দেখেছি , তবে আমি জাভা 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 * ...
।