我正在做一个项目,我必须从文本文件中加载航班详细信息列表。我阅读了文本文件并将 3 个值加载到哈希图中。这 3 个值采用这种格式(机场 ID、收件人、发件人)。To 和 From 在与 ID 一起放入 hashmap 之前被放入一个列表中。
我无法从选定的 To 和 From 中找到所有可能的路线。我已经阅读了 Dijkstra 的算法,但由于缺乏知识,我不知道如何应用它。
下面是我的代码示例,我可以找到直飞航班和具有 1 个中转点的航班。
for (int i = 0; i < route.get("all").size(); i++) {
String boardAir = route.get("all").get(i).from;
String alightAir = route.get("all").get(i).to;
if (boardAir.equals(ar.boardAirport) && alightAir.equals(ar.alightAirport)) {
airline = route.get("all").get(i).id;
System.out.println("Direct Airlines = " + alr.airline1.get(airline));
System.out.println("From = " + ar.airport1.get(boardAir) + "\tDestination = " + ar.airport1.get(alightAir));
System.out.println();
} else {
System.out.println("No direct flight found.");
}
if (boardAir.equals(ar.boardAirport)) {
for (int j = 0; j < route.get(route.get("all").get(i).id).size(); j++) {
String transfer = route.get(route.get("all").get(i).id).get(j).from;
String finalDest = route.get(route.get("all").get(i).id).get(j).to;
}
}
}