gpt4 book ai didi

java - 如何添加列表列表的元素并生成新列表

转载 作者:行者123 更新时间:2023-12-02 02:32:18 27 4
gpt4 key购买 nike

我有一些数据存储在 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

添加后我想将两个列表的值存储在一个公共(public)列表中
就像

 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。现在我的输出中包含我的路线详细信息和行驶时间。我想添加两条路线进行比较,哪条路线可以更快地覆盖两个目的地。所以可能的方式可以是Route1 +Route4,Route2+Route4和Route3+Route4

如何实现这一目标。

最佳答案

根据我对您问题的假设是否正确,这是一个可能的解决方案:

public static void main(String[] args) {
List<String> a1 = Arrays.asList("v1", "route1", "1.4", "destination1");
List<String> a2 = Arrays.asList("v1", "route2", "2.3", "destination1");
List<String> a3 = Arrays.asList("v2", "route2", "3.0", "destinationx");
List<String> a4 = Arrays.asList("v1", "route3", "1.2", "destination2");
List<String> a5 = Arrays.asList("v1", "route4", "3.4", "destination2");
List<List<String>> all = List.of(a1, a2, a3, a4, a5);
List<String> str = all.stream().filter(l -> "v1".equals(l.get(0)))
.map(l -> {
double v = Double.parseDouble(l.get(2)) + Double.parseDouble(a5.get(2));
return String.format("%s,%s,%s,%s,%s,%1.1f", l.get(0), l.get(1), l.get(3), "route4", a5.get(3), v);
})
.collect(Collectors.toList());
str.forEach(System.out::println);
}

这会打印出以下内容:

v1,route1,destination1,route4,destination2,4.8
v1,route2,destination1,route4,destination2,5.7
v1,route3,destination2,route4,destination2,4.6
v1,route4,destination2,route4,destination2,6.8

这段代码的作用是什么?

  1. 它过滤“v1”元素
  2. 执行计算并以您指定的格式创建字符串
  3. 将这些字符串收集到一个列表中

但老实说:最好的办法是使用与您的数据模型相对应的字段创建适当的普通旧 Java 对象 (POJO)。像我所做的那样打乱字符串从来都不是最好的主意。

关于java - 如何添加列表列表的元素并生成新列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46910326/

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