如何存储显示多行相同信息所需的逻辑

时间:2017-07-11 08:07:56

标签: java oracle

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

我以下列格式从数据库中获取结果

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

                      | Meal selected 2 | Food selected 2 

我需要以下列格式显示

www.mywebsite.com/booklist/booklist.csv

如果没有允许重复,我可以检查列表是否包含tkt id。如果是,我将只添加所选择的膳食2。如果不是,我将添加整行。

但在这种情况下,我不确定如何根据我的要求存储和显示值。

欢迎任何建议

1 个答案:

答案 0 :(得分:2)

使用地图,例如

baseUrl = "https://www.test2.com/";  // Domain you need to send the form to

forwardUrl = baseUrl + "test.php"; 

并通过循环地图值

来打印它们
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);
    }
}

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