Foreach对HashMaps无效?和一般优先级队列问题

时间:2010-11-19 22:50:57

标签: parsing foreach maps hashmap priority-queue

public static void Dijk(HashMap<String, HashMap<String, Integer>> map, String go, String stop){
   PriorityQueue pq = new PriorityQueue();
    for (String x: map){

    }

  }

为什么编译器告诉我我不能在这里使用foreach循环?

这也是一个大型程序的较小部分,但我对优先级队列没有太多经验我想用它来保持<String, int> //or Integer我这样做对吗? (我基本上使用PQ作为二进制堆)(这种方法将实现Dijkstra的算法)

提前感谢您的帮助/解答!

1 个答案:

答案 0 :(得分:0)

假设您打算迭代HashMap的键,您应该尝试

for (String x: map.keySet()){

}

对于优先级队列,请查看Java集合PriorityQueue