Сортировка обектов внутри стрима в отдельные списки которые будут value для мапы
И так, имею метод public Map<Character, List<String>> method (List<String> words) . Нужно сделать стрим, который будет отсеивать все строки в которых последний символ не буква( с этим разобрался), дальше нужно вернуть мапу, где ключем будет последний символ строки, а значение это лист всех строк которые заканчиваються на ключ. Проблема именно с этим
Ответы (1 шт):
Автор решения: Andrew Bystrov
→ Ссылка
public Map<Character, List<String>> method (List<String> words) {
return words.stream() // 1
.filter(s -> { // 2
char lastChar = s.charAt(s.length() - 1);
return lastChar >= 'a' && lastChar <= 'z';
})
.collect(Collectors.groupingBy(s -> s.charAt(s.length() - 1))); // 3
}
- создаем стрим
- фильтруем, чтобы последняя буква строки была от
aдоz(или у вас тут свое условие). Т.е.отсеиваем все строки в которых последний символ не буква - Группируем строчки по последнему символу