从单个对象创建流<T>
2022-09-01 15:54:34
如何从单个对象创建流?这种基本操作在流 API 中被证明是有问题的。为了说明,我想有意义地完成以下方法
private Node parent;
private List<Node> children;
public Stream<Node> getFilteredNodes(Options o) {
if(o.findParent()/*special case*/) return /*??? stream containing just parent*/;
return children.stream().filter(x -> x.getName().equals(o.getQuery()));
}
或者换句话说,我想要像LINQ这样的东西。尽管存储在具有单个项的列表中可以工作,但它也会使其他逻辑复杂化,因此我更喜欢使用内置方法。return Enumerable.Repeat(parent,1);
parent
至于我需要它做什么 - 搜索API的一致性,所以我可以用相同的方法调用上下搜索层次结构(并将两者结合起来),将其管道连接到下一阶段。