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