如何以相反的顺序对 guava Multimap 键进行排序?
How to sort guava Multimap keys in reverse order?
我是 Guava API 的新手,正在尝试以倒序或降序对 MultiMap
的键进行排序。我通过以下方式启动 Map
:
ListMultimap<Date, Map<String, String>> listMultimap = MultimapBuilder.treeKeys().arrayListValues().build();
这对键进行升序排序。例如:
List multi map iteration: key -->Fri Jan 01 00:00:00 PST 2016 values -->[{test2=testval2}, {test3=testval3}]
List multi map iteration: key -->Sun Jan 01 00:00:00 PST 2017 values -->[{test1=testval1}]
List multi map iteration: key -->Mon Jan 01 00:00:00 PST 2018 values -->[{test0=testval0}]
List multi map iteration: key -->Tue Jan 01 00:00:00 PST 2019 values -->[{test4=testval4}]
我尝试使用 TreeMultiMap
创建自定义日期 Comparator
,但还没有想出办法。这在语法上是不正确的,只是想证明这个想法。
static final Comparator<Date> DESC_ORDER = new Comparator<Date>() {
public int compare(Date e1, Date e2) {
return e2.compareTo(e1);
}
};
SortedSetMultimap<Date, Map<String, String>> treeMultimap = TreeMultimap.create(DESC_ORDER);
任何指点将不胜感激。
尝试使用 treeKeys(Comparator)
:
MultimapBuilder.treeKeys(DESC_ORDER).arrayListValues().build();
我是 Guava API 的新手,正在尝试以倒序或降序对 MultiMap
的键进行排序。我通过以下方式启动 Map
:
ListMultimap<Date, Map<String, String>> listMultimap = MultimapBuilder.treeKeys().arrayListValues().build();
这对键进行升序排序。例如:
List multi map iteration: key -->Fri Jan 01 00:00:00 PST 2016 values -->[{test2=testval2}, {test3=testval3}]
List multi map iteration: key -->Sun Jan 01 00:00:00 PST 2017 values -->[{test1=testval1}]
List multi map iteration: key -->Mon Jan 01 00:00:00 PST 2018 values -->[{test0=testval0}]
List multi map iteration: key -->Tue Jan 01 00:00:00 PST 2019 values -->[{test4=testval4}]
我尝试使用 TreeMultiMap
创建自定义日期 Comparator
,但还没有想出办法。这在语法上是不正确的,只是想证明这个想法。
static final Comparator<Date> DESC_ORDER = new Comparator<Date>() {
public int compare(Date e1, Date e2) {
return e2.compareTo(e1);
}
};
SortedSetMultimap<Date, Map<String, String>> treeMultimap = TreeMultimap.create(DESC_ORDER);
任何指点将不胜感激。
尝试使用 treeKeys(Comparator)
:
MultimapBuilder.treeKeys(DESC_ORDER).arrayListValues().build();