「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コード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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);
}
}
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); } }
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