【发布时间】:2017-10-24 12:14:23
【问题描述】:
我有一些数据存储在List<List<String>> 中,所以我使用这种方法来获取数据
private static void finalResult(List<List<String>> resultList) {
for (List<String> listOFResults : resultList) {
if(listOFResults.get(0).equals("v1")){
System.out.println("Vehicle is :: "+listOFResults);
}
}
}
我的输出是这样的
Vehicle is :: [v1, route1, 1.4, destination1]
Vehicle is :: [v1, route2, 2.3, destination1]
Vehicle is :: [v1, route3, 1.2, destination2]
Vehicle is :: [v1, route4, 3.4, destination2]
我的查询是添加索引值 2 i.e 1.4,2.3,1.2,3.4 但添加必须在
`route1 + route4` = 1.4 + 3.4
添加后我想将两个列表的值存储在一个公共列表中
喜欢
value is :: [v1,route1,destination1,route4,destination2,4.8];
value is :: [v1,route2,destination1,route4,destination2,5.7];
value is :: [v1,route3,destination2,route4,destination1,4.6];
在这里,我有 3 种可能的方式到达我的目的地,在这里我正在过滤我的车辆 1。现在我的输出中有我的路线详细信息和旅行时间。我想添加 2 条路线进行比较,哪条路线可以更快地覆盖两个目的地。所以可能的方式可以是Route1+Route4、Route2+Route4和Route3+Route4
如何实现这一点。
【问题讨论】:
-
你可以使用 addAll() 方法。另外,您可以改用 Streams 并尝试连接两个列表,然后将它们收集到一个中
-
能否提供一些demo代码解释一下。
-
为什么这是
List<String>的实例而不是定义明确的 POJO ?这会更干净......顺便说一句,你的要求不是很清楚。你到底想做什么? -
为您的结果输出提供预期的完整输出。
-
@AxelH 在这里我有 3 种可能的方式到达我的目的地在这里我正在过滤我的车辆 1。现在我的输出中有我的路线详情和旅行时间。我想添加 2 条路线进行比较,哪条路线可以更快地覆盖两个目的地。所以可能的方式可以是Route1+Route4、Route2+Route4和Route3+Route4。