Как перевести массив 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());
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
ЗдравствуйтеКак добавить пакеты в проект Eclipse? Есть каталог src
В гостинице имеется N одноместных номеровПериодически приходят клиенты, занимают номер (или ждут освобождения номера, если все номера заняты),...
ЗдравствуйтеПомогите, пожалуйста, разобраться в чем моя ошибка