「Java8」Comparator.comparingIntメソッドでリストの文字列長でソートするサンプル

2020年11月2日

説明
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

Java

Posted by arkgame