「Java8」Comparator.comparingIntメソッドでリストの文字列長でソートするサンプル
説明
static <T> Comparator<T> comparingInt(ToIntFunction<? super T> keyExtractor)
型パラメータ:T – 比較対象の要素の型
パラメータ:keyExtractor – 整数のソート・キーの抽出に使用される関数
戻り値:抽出されたキーで比較を行うコンパレータ
Javaコード
package com.arkgame.study.java8; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.stream.Collectors; public class ComparatorDemo { public static String kdf[] = { "Te234", "E2cd", "Celowpp", "Duuu56","Message" }; public static void main(String[] args) { List<String> targetLst = Arrays.asList(kdf); //文字列長でソートする List<String>resLst =targetLst.stream().sorted( Comparator.comparingInt(String::length)) .collect(Collectors.toList()); System.out.println("文字列長でソートする結果"); // ソートされたリスト for (String str : resLst) { System.out.println(str); } } }
文字列長でソートする結果
E2cd
Te234
Duuu56
Celowpp
Message