Как отобразить поток String по длине - PullRequest
0 голосов
/ 28 мая 2018

Я получил поток строк и хочу отобразить их по длине

 Stream<String> s = Stream.of("aaaa", "a", "aaa", "a", "aaaa", "aa", "aaaaaa", "aa");
 Map<Integer, Set<String> result = null;
 int i = 0;
 result.put(i, s.filter(x -> (x.length() == i));

Очевидно, что это не сработает, потому что я не могу открыть поток несколько раз и не могу получить доступ к длиннымСтрока для хорошей петли.Но как мне это сделать?

1 Ответ

0 голосов
/ 28 мая 2018

Вот решение Java8 вашей проблемы,

final Map<Integer, Set<String>> strByLength = s
        .collect(Collectors.groupingBy(String::length, Collectors.toSet()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...