我想为Comparator
使用自定义TreeMultiSet
。这是我的所作所为:
public static class OccurenceComparator implements Comparator<Multiset.Entry<String>>{
@Override
public int compare(Multiset.Entry<String> e1, Multiset.Entry<String> e2) {
return e2.getCount() - e1.getCount() ;
}
}
public static void main(String args[]) throws Exception{
Comparator<Multiset.Entry<String>> occurenceComparator = new OccurenceComparator();
Multiset<String> treeMultiSet = TreeMultiset.create(occurenceComparator);
}
这是我得到的:
未解决的编译问题: 类型
create(Comparator<? super E>)
中的方法TreeMultiset
不适用于参数(Comparator<Multiset.Entry<String>>)
我很难过
答案 0 :(得分:4)
你的Multiset是Multiset<String>
,所以你的比较器不应该比较String
?这看起来就像编译器所期望的那样。
public static class OccurenceComparator implements Comparator<String>{