2017-06-16 5 views
4

要素のリストが1つあります。私の場合のリスト要素の中には、Beanと私は別のリストを持っています。私の要件は、親リストを反復する間に、私はBean class getList()から得られたリスト内の特定の条件をチェックし、そこからブール値を返さなければならない。以下は私が達成したいコードのデモです。どのようにラムダを使用してJAVA -8でこれを達成する?反復可能な要素のコレクションをフィルタリングしているときにforEachラムダから返す方法

public boolean test(List<Bean> parentList) { 

    //Bean is having another List of Bean1 
    // i want to do some thing like below 
    parentList.forEach(bean -> 
     bean.getList().stream(). 
       filter(somePredicate). 
       findFirst().isPresent(); 
} 
+0

あなたのサブリストのいずれかで、条件が満たされた場合、結果は真でなければ、私は右ですか? – Flown

+0

@Deepakあなたのコードが何をすべきかを説明してください。それが立っているので、質問は不明である – Misha

+0

@Flownある要素が述語に従ってプリセットされていればそれは即座に 'foreach'から出てくるはずです – Deepak

答えて

7

あなたはStream::flatMapを使用して、あなたの状態を確認してください:

parentList.stream().flatMap(bean -> bean.getList().stream()).anyMatch(somePredicate); 
関連する問題