gpt4 book ai didi

java - C# + linq(concat) 重写为 java

转载 作者:行者123 更新时间:2023-11-30 08:50:41 26 4
gpt4 key购买 nike

我有一个 C# 代码示例(使用 linq),但我正在尝试将其转换为 java 代码 (java 8)。但是我对发生的事情感到非常困惑。此外,我无法在 Java 中重现与 C# 代码相同的结果。

public IEnumerable<Node> GetNeighborNodes(Node v)
{
var q = (from edge in this.Edges
where edge.Start == v
select edge.End)
.Concat(from edge in this.Edges
where edge.End == v
select edge.Start);
return q;
}

我对 Concat 部分感到非常困惑。任何人都可以解释发生了什么以及如何在 java 中重现它吗?

最佳答案

var q = (from edge in this.Edges
where edge.Start == v
select edge.End)
.Concat(from edge in this.Edges
where edge.End == v
select edge.Start);

这和

是一样的
var q = 
ctx.Edges.Where(o => o.Start == v).Select(o => o.End).Union(
ctx.Edges.Where(o => o.End == v).Select(o => o.Start)).ToList();

这就是

Stream<Node> q = Stream.concat(
this.getEdges().stream().filter(o-> o.getStart() == v).map(o-> o.getEnd()),
this.getEdges().stream().filter(o-> o.getEnd() == v).map(o-> o.getStart())
);

关于java - C# + linq(concat) 重写为 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30889869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com