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