--Probleme wie "Verwenden Sie ein Array vom Typ int, um die nächsten Zahlen in absteigender Reihenfolge zu sortieren und auszugeben"
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) throws Exception {
//Eingang
int[] numArray = {4, 3, 2, 5, 6, 7, 3, 2, 1, 9, 7, 8, 10, 6, 4, 3, 5, 8, 9};
Arrays.stream(numArray)
.boxed()
.sorted(Comparator.reverseOrder())
.forEach(i -> System.out.print(i + " "));
}
}
Ausgabeergebnis
10 9 9 8 8 7 7 6 6 5 5 4 4 3 3 3 2 2 1
Durch Kombinieren von Filter und Unterscheidung können Sie Duplikate eingrenzen und entfernen.
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) throws Exception {
//Eingang
int[] numArray = {4, 3, 2, 5, 6, 7, 3, 2, 1, 9, 7, 8, 10, 6, 4, 3, 5, 8, 9};
Arrays.stream(numArray)
.boxed()
.distinct()
.filter(x -> x >= 5)
.sorted(Comparator.reverseOrder())
.forEach(i -> System.out.print(i + " "));
}
}
Ausgabeergebnis
10 9 8 7 6 5
Wenn Sie das Array selbst neu schreiben, sieht es so aus
import java.util.Arrays;
import java.util.Comparator;
public class Main {
public static void main(String[] args) throws Exception {
//Eingang
int[] numArray = {4, 3, 2, 5, 6, 7, 3, 2, 1, 9, 7, 8, 10, 6, 4, 3, 5, 8, 9};
numArray = Arrays.stream(numArray)
.boxed()
.distinct()
.filter(x -> x >= 5)
.sorted(Comparator.reverseOrder())
.mapToInt(Integer::intValue)
.toArray();
System.out.println(Arrays.toString(numArray));
}
}
Ausgabeergebnis
[10, 9, 8, 7, 6, 5]
Recommended Posts