Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 存储和显示多行相同信息所需的逻辑_Java_Oracle - Fatal编程技术网

Java 存储和显示多行相同信息所需的逻辑

Java 存储和显示多行相同信息所需的逻辑,java,oracle,Java,Oracle,我有一个名为“乘客”的类,该类将包含乘客的详细信息,如机票号、旅行路线、选择的膳食、选择的食物。对于乘客将乘坐多个航班的情况,机票号将保持不变。 因此,对于这种情况,我需要显示一行乘客信息,然后是膳食和食物选择,下一行只显示第二次航班的膳食和食物选择 我从数据库中得到以下格式的结果 Tkt Id | Travel route | Meal selected 1 | Food selected 1 Tkt Id | Travel route | Meal selected 2 | Food s

我有一个名为“乘客”的类,该类将包含乘客的详细信息,如机票号、旅行路线、选择的膳食、选择的食物。对于乘客将乘坐多个航班的情况,机票号将保持不变。 因此,对于这种情况,我需要显示一行乘客信息,然后是膳食和食物选择,下一行只显示第二次航班的膳食和食物选择

我从数据库中得到以下格式的结果

Tkt Id  | Travel route | Meal selected 1 | Food selected 1
Tkt Id  | Travel route | Meal selected 2 | Food selected 2
我需要以以下格式显示

TKT ID | Travel route | Meal selected 1 | Food selected 1

                      | Meal selected 2 | Food selected 2 
如果不允许重复,我可以检查列表是否包含tkt id。如果是,我将仅附加所选的膳食2。如果否,我将添加整行

但在这种情况下,我不确定如何按照我的要求存储和显示这些值

欢迎提出任何建议

使用地图,例如

Map<String, List<Passenger>> routes = new HashMap<>();
for(Passenger passenger : passengers) {
    if(routes.containsKey(passenger.getId()) {
        List<Passenger> route = routes.get(passenger.getId());
        route.add(passenger);
    } else {
        List<Passenger> newRoute = new ArrayList<>();
        newRoute.add(passenger);
        routes.put(passenger.getId(), newRoute);
    }
}
Map routes=newhashmap();
用于(乘客:乘客){
if(routes.containsKey(passenger.getId()){
List route=routes.get(passenger.getId());
路线。添加(乘客);
}否则{
List newRoute=new ArrayList();
新航线。添加(乘客);
routes.put(passenger.getId(),newRoute);
}
}
并通过循环映射值打印它们

for(List<Passenger> route : routes.values()) {
    System.out.print(route.get(0).getId() + " | " + route.get(0).getRoute());
    for(Passenger passenger : route) {
        System.out.println(passenger.getMeal() + " | " + passenger.getFood());
    }
}
for(列出路由:routes.values()){
System.out.print(route.get(0.getId()+“|”+route.get(0.getRoute());
用于(乘客:路线){
System.out.println(passenger.getfeed()+“|”+passenger.getFood());
}
}

请注意,我没有尝试运行代码,因此您可能需要自己修复部分代码。

我不明白否决该问题的意义。我已经分享了该场景,我的问题清楚地指出,我在寻找逻辑,而不是实际的代码。此外,如果您否决了,最好您解释我的理由T