リストコレクションは-----重複したエントリを削除するためにストリームを使用します

重複セットの間のストリームインタフェースを用いて除去Java8

 

java.util.stream

パブリックインターフェイスストリーム<T>

拡張BaseStream <T、ストリーム <T >>

 

        学生S1 = 新しい学生(1,20、 "ボブ" ); 
        学生S2 = 新しい学生(2,20、 "ジム" ); 
        学生S3 = 新しい学生(3,20、 "トム" ); 
        学生S4 = 新しい学生(4,20、 "ジャック" ); 

        一覧 <学生> listC = 新しい ArrayListを<> (); 
        listC.add(S1)。
        listC.add(S2)。
        listC.add(S3)。
        一覧 <学生> listD = 新しい ArrayListを<> (); 
        listC.add(S1)。
        listC.add(S2)。
        listC.add(S4)。    

①デエンファシスを繰り返されていないコレクションのコンテンツを使用するように設定

設定し、<学生>設定= 新しい HashSetの<> (listC)。
        set.addAll(listD)。
        一覧 <学生>リスト= 新しいのArrayList <学生> (セット); 
        System.out.println(リスト);

②ストリームインターフェイスを再利用します

一覧<学生> studentList = Stream.of(listC、listD).flatMap(コレクション::ストリーム).distinct()()(Collectors.toList)を収集。
        System.out.println(studentList)。

 

static <T> Stream<T> of(T... values)

シーケンシャル順序要素は、その指定された流量値に戻ります。
<R> Stream<R> flatMap(Function<? super T,? extends Stream<? extends R>> mapper)
流れの結果の各要素を置換することによって生成された各要素に提供されるマッピング関数によりマッピングすることによりコンテンツストリームを戻します。
 

おすすめ

転載: www.cnblogs.com/JMrLi/p/11271709.html
おすすめ