elementList
全ての要素それぞれ全て異なる形状のリストが含まれた要素のリストをフィルタリングしようとリストで構成されるストリームでデータをフィルタリングしますか?
class Element{
private ArrayList<Shape> shapeList = new ArrayList<Shape>();
}
...
class Shape{
private String color;
private String shape;
}
のリストです。
List<Shape> roundShapes = elementList.stream()
.filter(x -> x.getShapeList()(})
//not sure what to have here.
//I need to loop/stream the data that i get form getShapeList(). How to do this?
//A stream inside a stream?
.collect(Collectors.toList());
たとえば、赤い丸い形を見つけることができます。 問題は、データが別のリスト内にあるので、私はそれを直接フィルタリングできないということです。
forループは、すべての要素をループし、各shapeListを1つの大きなリストに追加することができます。しかし、それはforループとそれぞれの反復処理を必要とし、forループの代わりにストリームを使用したいと思います。
シェイプは何ですか? elementListとは何ですか? Elementの有効なコードを投稿できますか?あなたの結果リストには何を入れたいですか?私の推測ではflatMap()が必要ですが、あなたの質問は不明です。 –
@JBNizetが更新されました。 elementListはすべての要素を含むリストです。 –
あなたのリスト宣言はまだ無効なJavaですが、あなたが探しているのはBandiの答えです。 –