2016-05-26 5 views
-1

マップのストリームを取得する方法マップの値を設定するにはどうすればよいですか?ここストリーム<Map <String、String >>を設定して<String>の値をJava 8に設定

私は、私はどのように私は地図の値であるセットを取得するために進んでください、

Set<String> jcfTargetTables = measure.getConditionMap().values() 
     .stream() 
     .map(Condition::getJoinConditionFilter) 
     .filter(jcf -> jcf!=null) 
     .map(JoinConditionFilter::getTableMapping); 

最後の行は私にStream<Map<String,String>>を与える部分的に何をやりましたか?

+0

可能な重複します(http:// stackoverflowのあなたの最後のマッピングでは、その後、残ってすべてのことは、その後、それらのマップの値のストリームにトランスフォームセットとしてそれらを収集しています.com/questions/30464953/java-8-stream-collecting-set) –

+0

ストリーム内のすべてのマップからすべての値のセットを取得する予定はありますか?マップごとに値のセットを持つことはできますか? –

+0

@Ennest Kiweleすべてのマップのすべての値のセット – Ajeetkumar

答えて

5

Set<String> jcfTargetTables = measure.getConditionMap().values() 
    .stream() 
    .map(Condition::getJoinConditionFilter) 
    .filter(jcf -> jcf!=null) 
    .map(JoinConditionFilter::getTableMapping) 
    .flatMap(map -> map.values().stream()).collect(Collectors.toSet());; 
[Javaの8ストリームが設定収集]の
+0

ありがとうございましたErnest Kiwele – Ajeetkumar

2

は、私はあなたが現在持っているすべてのステップが必要であるかどうかわからないんだけど、あなたが持っているものの上に構築し、あなたはすべての値のStream取得するflatMapを使用することができます。あなたがマップを持っていたよう

Set<String> jcfTargetTables = measure.getConditionMap().values() 
    .stream() 
    .map(Condition::getJoinConditionFilter) 
    .filter(jcf -> jcf!=null) 
    .map(JoinConditionFilter::getTableMapping) 
    .flatMap(m->m.values().stream()) 
    .collect(Collectors.toSet()); 
関連する問題