ฉันใช้แลมบ์ดา java เพื่อเรียงลำดับรายการ
ฉันจะจัดเรียงมันในทางกลับกันได้อย่างไร
ฉันเห็นโพสต์นี้แต่ฉันต้องการใช้ java 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
เป็นชื่อที่แสดงให้เห็นความกังวลเกี่ยวกับคำสั่งการเผชิญหน้าซึ่งมีความเกี่ยวข้องตามที่คุณต้องการที่จะข้ามไปจำนวนหนึ่งของใหม่ล่าสุดไฟล์ที่อาศัยอยู่กับ“เรียงตามเวลาแก้ไข” เพื่อ
-1 * answer
ด้วยanswer
คำสั่งซื้อจะเปลี่ยนกลับเป็นแบบ-1 * ...
เดิม