【发布时间】:2017-03-20 20:00:49
【问题描述】:
我需要访问 HashMap 关键元素,就像带有 prev 和 curr 指针的链表一样,以进行一些比较。我将 HashMap Key Iterator 类型转换为 List Iterator 以访问当前和以前的关键元素。下面是代码
HashMap<Node,Double> adj;
ListIterator<Node> li = (ListIterator<Node>) adj.keySet().iterator();
while (li.hasNext()) {
if (li.hasPrevious()) {
prev = li.previous();
} else {
prev = null;
}
...
}
但我得到以下异常
Exception in thread "main" java.lang.ClassCastException: java.util.HashMap$KeyIterator cannot be cast to java.util.ListIterator
at Types$AdjList.makeConnected(Types.java:357)
at Main.main(Main.java:89)
有什么方法可以将 HashMap Key Iterator 类型转换为 List Iterator 来解决我的目的。任何帮助将不胜感激。
谢谢,
索姆纳特
【问题讨论】:
标签: java collections