Как перевести массив 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
Как вариант, можно использовать преобразование в строку и метод chars
:
char[] array = new char[] {'a', 'c', 'b'};
Character[] newArray = new String(array).chars()
.mapToObj(i -> (char) i).toArray(Character[]::new);
Используйте ArrayUtills
Character[] charObjectArray = ArrayUtils.toObject(array);
Arrays.sort(charObjectArray, Collections.reverseOrder());
Виртуальный выделенный сервер (VDS) становится отличным выбором
ЗдравствуйтеКак добавить пакеты в проект Eclipse? Есть каталог src
В гостинице имеется N одноместных номеровПериодически приходят клиенты, занимают номер (или ждут освобождения номера, если все номера заняты),...
ЗдравствуйтеПомогите, пожалуйста, разобраться в чем моя ошибка