リストがソートされていることをacheveする地図<文字列、リスト<文字列>>に収集する方法は?

gstackoverflow:

私はこのようなコードを持っています:

final TreeMap<String, List<MyBean>> map= elements.stream()
                .filter(....)
                .collect(Collectors.groupingBy(MyBean::getName,
                        TreeMap::new,
                        Collectors.toList()
                ));

どのようにリストを並べ替えていることを達成するためにsomeStringField

フライング:

あなたは追加することができCollectors#collectingAndThen、あなたにCollectors#toList下流:

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;
                      })
      ));

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=367207&siteId=1