作者jojoharebell ()
看板java
标题[问题]关於comparator& Map
时间Mon Dec 29 22:36:09 2008
Map<String , Integer> items
= new TreeMap<String,Integer>(new myComparator());
我自己建了个class myaComparator
准备排序TreeMap
可是在黄色的地方却出错了
public class myComparator implements Comparator{
public int compare(Object o1, Object o2) {
Map.Entry e1 = ( Map.Entry) o1;
---> Map.Entry e2 = ( Map.Entry) o2;
Integer d1 = (Integer) e1.getValue();
Integer d2 = (Integer) e2.getValue();
if(d1>=d2)
return 1;
else
return -1;
}
}
错误讯息如下:
Exception in thread "main" java.lang.ClassCastException: java.lang.String
cannot be cast to java.util.Map$Entry
at myComparator.compare(myComparator.java:7)
at java.util.TreeMap.getEntryUsingComparator(Unknown Source)
at java.util.TreeMap.getEntry(Unknown Source)
at java.util.TreeMap.containsKey(Unknown Source)
at Fptree.processItems(Fptree.java:45)
at test.main(test.java:13)
请问是哪里有问题呢?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.155.114
1F:推 ClareQ:TreeMap是会用Comparator将key做排序 12/30 23:59
2F:→ jojoharebell:谢谢 问题已解决了^^ 01/18 15:55