「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