2017-07-17 14 views
1

List<SomeObject>があります。SomeObjectには、他のフィールドの中に日付フィールドがあります。 Java Streamsを使用すると、日付フィールドが空ではないSomeObjectインスタンスを含むリストと空の日付フィールドを持つ残りのSomeObjectインスタンスを含むリストの2つのリストを取得しようとしていました。Javaストリームのリスト操作

答えて

3

あなたはCollectors.partitioningByを探しています:

Map<Boolean,List<SomeObject>> partition = 
    list.stream().collect(Collectors.partitioningBy(s->s.getDate()!=null)); 
+0

ここで変数sは何? –

+1

@JohnC 'Collectors.partitioningBy'に渡される' Predicate '関数インターフェースの' test(SomeObject t) 'メソッドの引数です。あなたは何でも好きな名前を付けることができます。 – Eran