java将类作为值对树映射进行排序
我有一个树映射,其中包含字符串键和类的实例作为值。我希望能够对类的对象进行排序。我已经走了这么远:
public class StockTakeCompare {
public static TreeMap<String, StockItem> sortByValues(final Map<String, StockItem> treeMap) {
Comparator<StockItem> valueComparator =
new Comparator<StockItem>() {
public int compare(StockItem o1, StockItem o2) {
int res = o1.Name.compareTo(o2.Name);
return res != 0 ? res : 1; // to preserve items with equal values
}
};
//THIS LINE THROWS AN ERROR:
TreeMap<String, StockItem> sortedByValues = new TreeMap<String, StockItem>(valueComparator);
sortedByValues.putAll(treeMap);
return sortedByValues;
}
}
台词:
TreeMap<String, StockItem> sortedByValues = new TreeMap<String, StockItem>(valueComparator);
给出了以下错误:
error: no suitable constructor found for TreeMap(Comparator).
这是有道理的,但我还有别的方法可以实现我的目标吗
这不是复制品。我的问题是在树形图中使用类作为值,并对这些类的对象进行排序。“复制”只将原语作为值处理
共 (0) 个答案