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