もっと Lambda その10

Java

もっと Lambda シリーズも今回で10回目になりました。

と言っても大した内容ではないので恐縮です。

私のモットーは「門前の小僧習わぬ経を読む」ですから気にせずガンガンいっちゃいます!

今回はストリームオブジェクトの重複要素を排除して新たにストリームオブジェクトを作り直す便利な方法を紹介します。

とても簡単なので覚えておいて損はないと思います。

では、非常にシンプルなプログラムをご覧ください。

 

distinct() メソッドが重複排除して新たなストリームオブジェクトを返してくれるんですねぇ~(^_^)

たったこれだけです!

distinct()

ava.​util.​stream.​Stream

public Stream<T> distinct()

Returns a stream consisting of the distinct elements (according to Object.equals(Object)) of this stream.

This is a stateful intermediate operation.

戻り値:
the new stream

 

実行結果は次のようになります。

HONDA
TOYOTA
NISSAN
MAZUDA

 

便利だね。

調子に乗って二つのリストオブジェクトを結合して重複要素を排除して新たにストリームオブジェクトをつくってみましょう。

 

実行結果は次のようになります。

喜屋武ちあき
櫻井里佳
谷澤恵里香
倉持明日香
戸田恵梨香
新垣結衣
吉高由里子
宮崎あおい
篠田麻里子

ちなみに distinct() メソッド無しだと重複要素は排除されません。

Java8 が正式リリースされて何らかの理由によって Java7 を使わなくてはいけない状況があるとすればそれは気の毒としか言いようがないですね。

Hatena タグ:

« »

Leave a Reply

* が付いている項目は、必須項目です!

次の HTML タグと属性を利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

*

Trackback URL