有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案