Bir listeyi sıralamak için java lambda kullanıyorum.Bir akışı ters sırada sıralamak için Java8 lambda nasıl kullanılır?
Tersine nasıl sıralayabilirim?
Bu post'u gördüm, ancak java 8 lambda kullanmak istiyorum. İşte
benim kodudur olarak kesmek (kullandığım * -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());
"Ters sıra" ile ne demek istiyorsun? Eğer '-1' cevabını '' cevapla '' ile değiştirirseniz, sipariş '-1 * ... 'ile ne olduğunu tersine çevirecektir. – dasblinkenlight
Dikkat! Tüm kodunuz ['forEachOrdered'] 'i kullanmak istediğinizi önerir (http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#forEachOrdered-java.util. function.Consumer-) yerine ['forEach'] (http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#forEach-java.util.function.Consumer -) – Holger
neden bu? açıklayabilir misin? –