dra*_*nxo 1 java comparator guava
我想用一个自定义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);
}
Run Code Online (Sandbox Code Playgroud)
这是我得到的:
未解决的编译问题:
create(Comparator<? super E>)类型中的方法TreeMultiset不适用于参数(Comparator<Multiset.Entry<String>>)
我难住了
您的 Multiset 是Multiset<String>,那么您的比较器不应该比较Strings 吗?这看起来是编译器所期望的。
public static class OccurenceComparator implements Comparator<String>{
Run Code Online (Sandbox Code Playgroud)