「Java8」Stream.sorted()メソッドで配列(Double、Integer、Boolean、String)の要素をソートするサンプル

2020年11月9日

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

package com.arkgame.study.it;

import java.util.Arrays;
import java.util.List;
import java.util.Comparator;

public class SttreamDemo {
      // Integer
      public static Integer[] cftA = { 11, 22, 33, 44, 55, 66 };
      // String
      public static String[] cftB = { "A1", "B02", "C003", "D0004" };
      // Boolean
      public static Boolean[] cftC = { true, false, false };
      // Double
      public static Double[] cftD = { 32.12, 56.17, (double) 15, (double) 99 };

      public static void main(String[] args) {
            List<Integer> intLst = Arrays.asList(cftA);
            System.out.println("sortedメソッド(Integer型配列の要素):");
            intLst.stream().sorted(Comparator.reverseOrder()).forEach(System.out::println);

            List<String> strLst = Arrays.asList(cftB);
            System.out.println("sortedメソッド(String型配列の要素):");
            strLst.stream().sorted(Comparator.reverseOrder()).forEach(System.out::println);

            List<Boolean> boolLst = Arrays.asList(cftC);
            System.out.println("sortedメソッド(Boolean型配列の要素):");
            boolLst.stream().sorted(Comparator.reverseOrder()).forEach(System.out::println);

            List<Double> dbLst = Arrays.asList(cftD);
            System.out.println("sortedメソッド(Doublen型配列の要素):");
            dbLst.stream().sorted(Comparator.reverseOrder()).forEach(System.out::println);
      }

}

実行結果
sortedメソッド(Integer型配列の要素):
66
55
44
33
22
11
sortedメソッド(String型配列の要素):
D0004
C003
B02
A1
sortedメソッド(Boolean型配列の要素):
true
false
false
sortedメソッド(Doublen型配列の要素):
99.0
56.17
32.12
15.0

Java

Posted by arkgame