Java8 Comparatorを使用してリストの数値を降順にする方法

環境
JavaSE 1.8
Eclipse 4.14

書式
public static <T> void sort(List<T> list,Comparator<? super T> c)
Comparatorで、並び順をカスタマイズできます。
並び順はComparator(コンパレータ)で指定します。
引数は、listとComparatorの2つです。

使用例

package com.arkgame.study;

import java.text.ParseException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class ArkgameTest {

      public static void main(String[] args) throws ParseException {

            List<Integer> numLst = new ArrayList<>(Arrays.asList(100, 34, 45, 56));
            // Comparatorの箇所は匿名クラス
            Collections.sort(numLst, new java.util.Comparator<Integer>() {
                  // Comparatorインターフェースのcompareメソッドをオーバーライド
                  @Override
                  public int compare(Integer o1, Integer o2) {
                        return o2 - o1;
                  }

            });
            for (Integer nn : numLst) {
                  System.out.println(nn);
            }

      }

}

実行結果
100
56
45
34

Java

Posted by arkgame