过滤Java流:使用2个对象进行过滤
我的问题是,我有一个连接两地的道路集合&;我想在没有直接连接的情况下找到从A到B的所有连接,因此行程将从A到X(甚至可能到Y)到B。 然而,当我已经知道没有直接连接时,我现在不知道如何过滤,因为我认为我需要不止一个对象
routes = allroutes
.stream()
.filter(p -> p.getStart() == start)
.filter(p,x -> p.getEnd() == x.getStart())
.filter(x -> x.getEnd() == end)
和过滤器(p,x…)是一件不起作用的事情,但我不知道如何以不同的方式解决它。 当然,之前所有流、列表等都已正确初始化
# 1 楼答案
因为您需要同时从列表中获取两个值,所以我不确定使用流来实现这一点的方法。(其他人可能会评论。)然而,由于我发现这个问题很有趣,我很快在一个简单的Java类上进行了尝试。我使用了一个简单的
for..each
循环而不是Java流编辑:
再想一想,我认为有一种使用流的方法
这段代码使用了模型
Route
和我上面粘贴的类中的基本代码。可以调用此方法而不是findIndirectBetween()