Java StreamのdistinctメソッドでListの重複要素を削除する

環境
Java SE 1.8
Eclipse 4.14.0

書式
List<データの型>リスト変数名1= new ArrayList<データの型>();
リスト変数名1.add(要素)
リスト変数名2 = リスト変数名1.stream().distinct().collect(Collectors.toList());
処理流れ
リストをStreamに変換します
distinctメソッドで重複要素を削除します
削除後Streamをリストに変換します。

使用例

package com.arkgame.study;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

public class ArkgameDemo {

      public static void main(String[] args) {
            // 重複排除前のList
            List<String> lstA = new ArrayList<String>();
            lstA.add("tokyo");
            lstA.add("oosaka");
            lstA.add("tokyo");
            List<String> resLst;
            System.out.println("重複排除前のリストの要素");
            for (String str : lstA) {
                  System.out.println(str);
            }
            System.out.println("重複排除後のリストの要素");
            // Streamに変換-distinctメソッドで重複排除-Listに変換
            resLst = lstA.stream().distinct().collect(Collectors.toList());
            for (String str : resLst) {
                  System.out.println(str);
            }
      }

}

実行結果
重複排除前のリストの要素
tokyo
oosaka
tokyo
重複排除後のリストの要素
tokyo
oosaka

Java

Posted by arkgame