Как перевести массив char[] к его оболочке Character[] для дальнейшей сортировки в обратном порядке?
Делаю по аналогии как с int -> Integer:
int[] array = {...};
Integer[] newArray = Arrays.stream(array).boxed().toArray(Integer[]::new);
Arrays.sort(newArray, Collections.reverseOrder());
Но с char так не работает:
Character[] newArray = Arrays.stream(array).boxed().toArray(Character[]::new);
Arrays.sort(newArray, Collections.reverseOrder());
Ответ
Да, для примитивов char есть такая проблема.
Можно например так её решить:
char[] array = {'a','c','b'};
Character[] newArray = IntStream.range(0, array.length)
.mapToObj(i -> array[i])
.toArray(Character[]::new);
Arrays.sort(newArray, Collections.reverseOrder());
c, b, a
Комментариев нет:
Отправить комментарий