gstackoverflow :
I have code like this:
final TreeMap<String, List<MyBean>> map= elements.stream()
.filter(....)
.collect(Collectors.groupingBy(MyBean::getName,
TreeMap::new,
Collectors.toList()
));
How to achieve that List is sorted by someStringField
?
Flown :
You can add a Collectors#collectingAndThen
to your Collectors#toList
downstream:
final TreeMap<String, List<MyBean>> map = elements.stream()
.collect(Collectors.groupingBy(MyBean::getName,
TreeMap::new,
Collectors.collectingAndThen(
Collectors.toList(),
l -> {
l.sort(Comparator.comparing(MyBean::getSomeStringField));
return l;
})
));
Guess you like
Origin http://43.154.161.224:23101/article/api/json?id=366647&siteId=1