「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]