「Java8」関数型インターフェースComparatorで配列の昇順、降順を指定する

環境
JavaSE 1.8
Eclipse IDE 2019-12

書式
static <T extends Comparable<? super T>> Comparator<T> naturalOrder()
型パラメータ:
T – 比較対象の要素のComparable型
戻り値:
Comparableオブジェクトに自然順序付けを義務付けるコンパレータ。

使用例

package com.arkgame.study;

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

public class IteratorDemo {

      public static void main(String[] args) {
            Double empArr[] = { 1.3, 4.2, 5.1, 6.5, 7.4 };
            // 昇順
            Arrays.sort(empArr, Comparator.naturalOrder());
            System.out.println("Double配列要素の昇順になる結果1:\n" + Arrays.toString(empArr));
            // 降順
            Arrays.sort(empArr, Comparator.reverseOrder());
            System.out.println("Double配列要素の降順になる結果2:\n" + Arrays.toString(empArr));

            System.out.println("***********************");
            Integer gArr[] = { 15, 42, 67, 86, 38 };
            // 昇順
            Arrays.sort(gArr, Comparator.naturalOrder());
            System.out.println("Integer配列要素の昇順になる結果1:\n" + Arrays.toString(gArr));
            // 降順
            Arrays.sort(gArr, Comparator.reverseOrder());
            System.out.println("Integer配列要素の降順になる結果2:\n" + Arrays.toString(gArr));

      }

}

実行結果

Double配列要素の昇順になる結果1:
[1.3, 4.2, 5.1, 6.5, 7.4]
Double配列要素の降順になる結果2:
[7.4, 6.5, 5.1, 4.2, 1.3]
***********************
Integer配列要素の昇順になる結果1:
[15, 38, 42, 67, 86]
Integer配列要素の降順になる結果2:
[86, 67, 42, 38, 15]

 

Java

Posted by arkgame