「Java8」ストリームAPIのdistinctメソッドで重複した要素を削除する

環境
JavaSE 1.8
Eclipse IDE 2019-12

関数
1.Stream<T> distinct()
このストリームの重複を除いた要素(Object.equals(Object)による)から構成されるストリームを返します。

2.public static <T> List<T> asList(T… a)
指定された配列に連動する固定サイズのリストを返します。

使用例

package com.arkgame.study;

import java.util.Arrays;
import java.util.List;

public class ArkgamelDemo {
      // Integer配列変数の宣言
      public static Integer cftArr[] = { 11, 22, 11, 44 };

      // String型配列変数の宣言
      public static String cityArr[] = { "tokyo", "oosaka", "tokyo", "kawasaki" };

      public static void main(String[] args) {
            // 数値
            List<Integer> intLst = Arrays.asList(cftArr);
            System.out.println("重複したInteger要素を削除する結果");
            intLst.stream().distinct().forEach(System.out::println);

            System.out.println("重複したString要素を削除する結果");
            // 文字列
            List<String> resLst = Arrays.asList(cityArr);
            resLst.stream().distinct().forEach(System.out::println);
      }

}

実行結果

重複したInteger要素を削除する結果
11
22
44
重複したString要素を削除する結果
tokyo
oosaka
kawasaki

 

Java

Posted by arkgame