【发布时间】:2021-02-27 06:07:54
【问题描述】:
Assignment instructions 我的教授希望我们使用哈希图和数组来找到从一个机场到另一个机场的最快路线,给定航班列表。他希望我们在遍历哈希图时填充数组,找到每个机场最快的航班。我已经在链接列表的一个单元格中创建了包含航班目的地以及出发时间和到达时间的哈希图,但是当我尝试提取离开机场的每个航班的出发和到达时间时插入他们进入我不能的数组。有没有办法从散列内每个单元格中具有多个值的链表中提取特定值,还是应该以另一种方式进行?我已确认哈希图具有正确的信息并且运行正常我只是无法或不知道如何访问哈希图内部的信息以将其发送到数组。 What the information inside the debugger looks like
LinkedHashMap<String, LinkedList<Info>> airportsHash = new LinkedHashMap<String, LinkedList<Info>>();
LinkedList<Info> destinations;
public Info (String destination, double departureTime, double arrivalTime){
this.destination = destination;
this.departureTime = departureTime;
this.arrivalTime = arrivalTime;
}
public void fillHash(String origin, String destination, double departureTime, double arrivalTime) {
if(airportsHash.containsKey(origin)){
destinations = airportsHash.get(origin);
destinations.add(new Info(destination, departureTime/100, arrivalTime/100));
}
else{
destinations = new LinkedList<Info>();
destinations.add(new Info(destination, departureTime/100, arrivalTime/100));
airportsHash.put(origin, destinations);
}
}
【问题讨论】:
-
欢迎来到 SO。我不清楚你的数据结构是什么问题。例如,在
LinkedList类中实际上不可能实现“每个单元格中具有多个值的链表”。类似地,“包含航班目的地的哈希图以及出发时间和到达时间都在链表的一个单元格中”和“哈希中的每个单元格”很难在没有代码的情况下进行描绘。您能否提供一些代码以更清楚地说明您的结构是如何工作的? -
抱歉,我已将添加所有信息的代码放入 hashmap/链表中。老实说,这是我第一次使用 hashmap,所以我这样做纯粹是基于 youtube 上的视频和其他人在这里提出的其他问题,所以我的知识非常有限。如果我张贴说明中他解释他想要什么的部分会有帮助吗?
标签: java arrays linked-list hashmap