私はStringのリストを持っています。元のリストが更新されたときにフィルタリングされたリストも更新されるように、このリストのフィルタリングされたバージョンを別のリストに保存します。例えばフィルタリングされたリストの変更を反映する方法
:要素がstrings
に追加されるたびに
List<String> strings = new ArrayList<>();
List<String> filteredStrings = strings.stream().filter(string -> string.startsWith("#")).collect(Collectors.toList());
filteredStrings
が更新されません。 strings
に要素が追加されるたびにfilteredStrings
が更新される方法はありますか?または、希望の結果を得るために私が採用できる似たような選択肢はありますか?
他の要素を除外したくないので、特定の要素をフィルタリングしたいだけです。だから私は、 "#"で始まる要素や "!"で始まる要素を含むフィルターされたリストを持つことができます。おそらく。 – driima
したがって、すべての文字列を含むリストを1つ作成し、後でこのリストを任意の文字でフィルタリングするだけでなく、オリジナルを変更したときにフィルタリングされたリストを更新しますか?申し訳ありませんが、完全に新しいオブジェクトであるため、可能であるかどうかはわかりません。私は別の解決策で答えを更新しました –