char[] в Character[]

216
21 октября 2017, 16:19

Как перевести массив 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());
Answer 1

Да, для примитивов 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

Answer 2

Как вариант, можно использовать преобразование в строку и метод chars:

char[] array = new char[] {'a', 'c', 'b'};
Character[] newArray = new String(array).chars()
    .mapToObj(i -> (char) i).toArray(Character[]::new);
Answer 3

Используйте ArrayUtills

Character[] charObjectArray = ArrayUtils.toObject(array);
Arrays.sort(charObjectArray, Collections.reverseOrder());
READ ALSO
eclipse не могу добавить пакет классов

eclipse не могу добавить пакет классов

ЗдравствуйтеКак добавить пакеты в проект Eclipse? Есть каталог src

226
Задача про потоки

Задача про потоки

В гостинице имеется N одноместных номеровПериодически приходят клиенты, занимают номер (или ждут освобождения номера, если все номера заняты),...

203
alter table add constraint foreign key

alter table add constraint foreign key

ЗдравствуйтеПомогите, пожалуйста, разобраться в чем моя ошибка

254