「Java」Streamクラスのsortedメソッドでリストの要素を並び替えるサンプル

2020年10月16日

説明
1.Stream<T> sorted(Comparator<? super T> comparator)
このストリームの要素を指定されたComparatorに従ってソートした結果から構成される
ストリームを返します。
2.Comparator<Integer> java.util.Comparator.naturalOrder()
自然な順序でComparableオブジェクトを比較するコンパレータを返します。
3.static <T extends Comparable<? super T>> Comparator<T> reverseOrder()
自然順序付けの逆を義務付けるコンパレータを返します。
Javaコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
public class SortedDemo {
public static void main(String[] args) {
List<Integer>intLst = new ArrayList<>();
intLst.add(21);
intLst.add(11);
intLst.add(34);
intLst.add(123);
System.out.println("要素を並び替え(昇順)");
intLst.stream()
.sorted(Comparator.naturalOrder())
.forEach(res -> System.out.println(res));
System.out.println("要素を並び替え(降順)");
intLst.stream()
.sorted(Comparator.reverseOrder())
.forEach(res -> System.out.println(res));
}
}
package com.arkgame.study; import java.util.ArrayList; import java.util.Comparator; import java.util.List; public class SortedDemo { public static void main(String[] args) { List<Integer>intLst = new ArrayList<>(); intLst.add(21); intLst.add(11); intLst.add(34); intLst.add(123); System.out.println("要素を並び替え(昇順)"); intLst.stream() .sorted(Comparator.naturalOrder()) .forEach(res -> System.out.println(res)); System.out.println("要素を並び替え(降順)"); intLst.stream() .sorted(Comparator.reverseOrder()) .forEach(res -> System.out.println(res)); } }
package com.arkgame.study;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;

public class SortedDemo {

      public static void main(String[] args) {

            List<Integer>intLst = new ArrayList<>();
            intLst.add(21);
            intLst.add(11);
            intLst.add(34);
            intLst.add(123);
            System.out.println("要素を並び替え(昇順)");
            intLst.stream()
            .sorted(Comparator.naturalOrder())
            .forEach(res -> System.out.println(res));

            System.out.println("要素を並び替え(降順)");
            intLst.stream()
            .sorted(Comparator.reverseOrder())
            .forEach(res -> System.out.println(res));
      }

}

結果
要素を並び替え(昇順)
11
21
34
123
要素を並び替え(降順)
123
34
21
11

Java

Posted by arkgame