我有一个TreeMap的定义如下:迭代器中的Java
final TreeMap<ArrayList<String>,String> mymap = new TreeMap<ArrayList<String>,String>(comparator);
当我尝试遍历这样的:
Iterator iter = (Iterator) mymap.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
}
我收到错误消息像的方法hasNext()对于第二行的类型ObjToIntMap.Iterator未定义,该行的多个标记 - Map.Entry是原始类型。泛型类型Map.Entry的引用应为 参数化第3行的。
这个错误的来源是什么,我该如何解决?
你不觉得TreeMap的<字符串,ArrayList的>会更好?字符串是一个键 –
Deepak
1.我不能用你已发布的代码重现错误2.在各处使用泛型是一个好习惯:'Iterator,String >> iter = mymap.entrySet( ).iterator();'3.做2可能会帮助你理解错误是什么。 –
assylias
@Deepak,是啊我知道它看起来很奇怪,但我需要做到这一点有一个自定义比较函数.. – SexyBeast