以下の内容はhttps://su-kun1899.hatenablog.com/entry/2017/03/07/230000より取得しました。


JavaのStreamで独自ソート #java

sortedにComparator

Streamで独自ソートするにはsortedにComparatorを渡してやればOK

List<Person> personsSortedByName = getPersons().stream()
  .sorted(new Comparator<Person>() {
    @Override
    public int compare(Person person1, Person person2) {
        return person1.getName().compareTo(person2.getName());
    }
  }).collect(Collectors.toList);

Lambdaで書けます

List<Person> personsSortedByName = getPersons().stream()
  .sorted((person1, person2) -> person1.getName().compareTo(person2.getName()))
  .collect(Collectors.toList);

Comparator#comparing が使えます

List<Person> personsSortedByName = getPersons().stream()
  .sorted(Comparator.comparing(Person::getName))
  .collect(Collectors.toList);

逆順にしたい

逆順にしたいときは Comparator#reversed を使えばOKです。

List<Person> personsSortedByName = getPersons().stream()
  .sorted(Comparator.comparing(Person::getName).reversed())
  .collect(Collectors.toList);

参考

www.task-notes.com




以上の内容はhttps://su-kun1899.hatenablog.com/entry/2017/03/07/230000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14