Javaストリームの学習を始めたばかりで、問題に直面しました。次の例を見てください。これは Node クラスの一部です:
private Map<String, Node> nodes;
public Optional<Node> child(String name) {
return Optional.<Node>ofNullable(nodes.get(name));
}
private void findChildren(String name, List<Node> result) {
child(name).ifPresent(result::add);
nodes.values().stream()
// .map(Node::findChildren(name, result))
// .forEach(Node::findChildren(name, result))
.forEach(node -> node.findChildren(name, result));
}
私の意図は、ストリーム内の各ノードで名前と結果のパラメーターを使用して #findChildren を呼び出すことでした。メソッド参照 Node::findChildren を使用しようとしましたが、うまくいきませんでした。->
演算子を使用する以外のソリューションをいただければ幸いです。
メソッド参照をパラメーターと一緒に使用することは何とか可能ですか? 私はストリームのアイデアが好きで、コードをもっと読みやすくしたいだけです。
実際、私が読んだパラメーターを使用したメソッド参照という同様の質問があると思いますが、コードで bind2 メソッドを使用する方法がわかりません。それが唯一の解決策ですか?