我在尝试做的Java 6应用程序中遇到以下问题
QuotaTirComparator bvc = new QuotaTirComparator(mappaQuote);
TreeMap<Integer, QuotaTir> sorted_map = new TreeMap<Integer, QuotaTir>(bvc);
获取已排序的TreeMap。
但Eclipse给出了以下错误消息:
The constructor TreeMap<Integer,QuotaTir>(QuotaTirComparator) is undefined
为什么呢? Java 6中是否未启用此功能?怎么了?我错过了什么?
答案 0 :(得分:3)
我的猜测是QuotaTirComparator
不是Comparator
显然,比较器必须是键,而不是值。由于Integer
已经有了自然顺序,我会尝试完全删除比较器。
树按键排序,并带有关联值。如果要对QuoteTir
进行排序,则需要对它们进行排序。
使用比较器的构造函数添加了Java 1.2 http://docs.oracle.com/javase/8/docs/api/java/util/TreeMap.html#TreeMap-java.util.Comparator-
答案 1 :(得分:1)