Я хочу противоположность flatMap
.У меня есть код ниже:
List<String> list = Arrays.asList("A", "C", "B", "AA", "BB", "CC");
Stream<String> stream = list.stream();
Collection<List<String>> val = stream.sorted().collect(groupingBy(String::length)).values();
System.out.println("Values " + val);
Это работает, но тип Collection<List<String>>
.Как мне сделать это List<List<String>>
?
Я могу перебрать Collection
или использовать new Arraylist()
.Я ищу что-то вроде Arrays.asList
, которое было бы более лаконичным и неизменным.
Если я произнесу, я получу java.lang.ClassCastException
.
Также это отсортирует весь список и затем выполнитгруппировка.Есть ли способ сначала сгруппировать, а затем отсортировать меньшие списки, которые были бы более эффективными.