问题描述
我觉得我在这里遗漏了一些明显的东西,但我已经尝试了几种将元素添加到 LinkedList 的方法,但仍然无法正常工作。
我试图获取的数据存储在一个列表中作为 [TrainlineName,Source,Destination,Time] 存储在另一个列表中,所以它就像 [[TrainlineName,Time]...]]
然后将列表列表作为 {TrainlineName : [[List of Lists]]} 存储在哈希表中
创建图的函数以(Source、Destination、Time)为参数来创建每个节点/站,然后将其添加到 LinkedList 以创建站的邻接列表。错误是节点不是被添加到邻接列表中,并且其他地方没有错误告诉我该图没有被创建,所以我很确定错误只是没有被添加到链表中的元素。
这是我用来制作图表的代码
Hashtable<String,List<List<String>>> trainlineConnections = tokeniser.trainlineConnections;
//Trainline trainlines = new Trainline();
//need to run for every trainline
trainlineConnections.forEach((k,v) ->{
//for the length of every trainline
for(int i = 0; i < trainlineConnections.get(k).size(); i++) {
//for every connection the trainline has
for (int j = 0; j < trainlineConnections.get(v).size(); j++) {
for (int l = 0; l < trainlineConnections.get(v).get(l).size(); l++) {
try {
Trainline.addConnection(trainlineConnections.get(j).get(l).get(1),trainlineConnections.get(j).get(l).get(2),trainlineConnections.get(j).get(l).get(3));
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
});
这是我试图用来向列表中添加元素的方法:
public static void addConnection(String source,String destination,String time) throws FileNotFoundException {
Connection connect = new Connection(source,destination,time);
if (head == null) {
adjacencyList.addFirst(connect);
}
connect.next = null;
Connection last = head;
while (last.next != null) {
last = last.next;
}
last.next = connect;
//adjacencyList.add(connect);
}
我很确定这是我运行主代码时的错误
public static void main(String[] args) throws FileNotFoundException {
Trainline trainlines = new Trainline();
System.out.println("Graph created");
trainlines.printMap();
}
printMap 只返回 []。
在网上看了几页我认为这可能与我如何存储原始值有关,但老实说我不知道从哪里开始解决这个问题,我认为问题是一个简单的解决方法,但我对 Java 不太了解,无法知道我做错了什么。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)