私はJava lambdasにはかなり新しく、私が望むものが達成できるかどうかはわかりません: 私はフィルタリングしたいオブジェクトのリストを持っています与えられた条件に合致していることを、それらのものをを抽出し、 を区切ったリストに入れて(私はそのまま元のリストを保持し、それらにいくつかの操作を行うことができます)私はこの思い付いた:Java lambdas:リストから新しいリストにノードをコピー
List<Suggestion> only_translations = original_list.stream().
filter(t -> t.isTranslation).
collect(Collectors.toCollection(() -> new ArrayList<Suggestion>()));
しかし、たとえ新しいリストオブジェクトを取得している場合、ノードは元のリストオブジェクトにリンクされているように見えます(元のリストからコピーされた新しいオブジェクトではなく参照によって)。したがって、新しいリストのオブジェクトを変更すると、 。
これを実現するには、lambdaを使用することが可能かどうかを知りたいと思います。すべての要素を反復する「古典的」な方法で行うことができます。 ありがとうございます!あなたの提案を仮定
'collect()'は、可変縮小のためのものです。 –
そう...代わりに何を使うべきですか? – motagirl2
@JudeNiroshan - あなたがそれをどのような引数で与えるかによって異なります。 'collect(Collectors.toList())'などです。 –