例如,
TreeSet<HashMap<String,Integer>> myTree = new TreeSet<HashMap<String,Integer>>();
我想根据 HashMap 中的整数值对这个树集进行排序。我们有什么好的方法可以做到这一点吗?
最佳答案
您需要设计一个自定义比较器并将其作为构造函数提供给您的 TreeSet
,
public static Set<HashMap<String, Integer>> myTree = new TreeSet<>(
new Comparator<HashMap<String, Integer>>() {
@Override
public int compare(HashMap<String, Integer> o1,
HashMap<String, Integer> o2) {
return (o2.get(key)).compareTo(o1.get(key));
}
});
只需将 key
替换为您的整数的键即可。
如果你希望它以相反的方式排序,
替换,
o2.get(key)).compareTo(o1.get(key)
与,
o1.get(key)).compareTo(o2.get(key)
关于java - 以 HashMap<string,integer> 作为其类型对 TreeSet 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28308341/