Как преобразовать IntStream в List <Character>? - PullRequest
0 голосов
/ 16 июня 2020

У меня есть объект IntStream, который я ограничил 30 элементами, и мне нравится получать List<Character> из всех int элементов в потоке.

Заранее спасибо

Ответы [ 3 ]

3 голосов
/ 16 июня 2020

Вы можете сопоставить каждый int с char, затем собрать в список, это приведет к списку символов, заданных их кодом ASCII

List<Character> r = IntStream.range(50, 80).mapToObj(a -> (char) a).collect(Collectors.toList());
System.out.println(r); // [2, 3, 4, 5, 6, 7, 8, 9, :, ;, <, =, >, ?, @, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O]
2 голосов
/ 16 июня 2020

таким образом вы можете выполнить это действие.

IntStream intStream = IntStream.of(1, 2, 3, 4, 5, 6, 7, 8, 9);
List<Character> characterList = intStream.mapToObj(i -> (char) i).collect(Collectors.toList());

для всех потоков вы можете сделать это, сопоставив каждый элемент с персонажем и собирая их.

0 голосов
/ 16 июня 2020

также,

List<Character> collect = IntStream.range(0, 30)
                .mapToObj(a -> (char) a)
                .collect(Collectors.toList());
...