我可以使用Comparator类在Java 1.6中订购TreeMap吗?

时间:2016-10-14 13:52:25

标签: java hashmap comparator treemap java-6

我在尝试做的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中是否未启用此功能?怎么了?我错过了什么?

2 个答案:

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