두 번째 열에서 비교자를 사용하여 두 개의 열을 가진 배열을 정렬하고 순서를 반전하려고합니다.반전 된 비교기를 사용하여 스트림으로 배열 정렬
String[][] names = {{"a", "1234"}, {"b", "12312"}, {"c", "43"}};
그리고 내가 사용하는 정렬 된 배열 반환 :
배열은
String[][] out = Arrays.stream(names)
.sorted(
Comparator.comparing(x -> x[1])
)
.toArray(String[][]::new);
잘 작동하지만 reversed()
를 사용하여 정렬 순서를 reverese하려고하면
String[][] out = Arrays.stream(names)
.sorted(
Comparator.comparing(x -> x[1]).reversed()
)
.toArray(String[][]::new);
나는 오류 :
Error:(44, 66) java: array required, but java.lang.Object found
그리고 내 IDE는 x[1]
부분에 X을 강조한다. 내가 뭘 잘못하고있어?
손실 될 : 이들은 모두 같은, 단지 더 많은 명시가되는 것은 있습니까? 나는 또한 ['reverseOrder()'] (https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#reverseOrder--)와 체인 된 ['comparison ()'] (https://docs.oracle.com/javase/8/docs/api/java/util/Comparator.html#comparing-java.util.function.Function-java.util.Comparator-)는 다음없이 올바르게 작동합니다. 모든 유형 지정. [Ideone Demo] (https://ideone.com/bGu4V3) – Kaushal28