如何对guava multimap进行排序?(KEY=DATE)

8

I have a

Multimap<Date,Invoice> multimap = ArrayListMultimap.create();

来自guava。我想知道如何对multimap中的Date键进行排序。

目前,我正在这样做:

        Iterator<Date> dateItr = multimap.keySet().iterator();
        Set<Date> treeSet = new TreeSet<Date>(Collections.reverseOrder());

后来我通过遍历treeSet迭代器来循环。有什么办法可以避免这种绕路方式吗?

2
TreeMultimap - Beau Grantham
1个回答

16

我是Guava团队的成员。

使用TreeMultimap,或者如果您需要映射到List,则使用MultimapBuilder

return MultimapBuilder.treeKeys().arrayListValues().build()

我尝试了你的代码,但我不知道如何将它与我的类结构构建起来。 - adhg
请问您能否写出与KEY=Date和V=Invoice相关的代码行?谢谢! - adhg
嗯。将字母“K”替换为“日期”,将“V”替换为“发票”,那就可以了。 - Louis Wasserman
请在问题中发布您修改后的代码,因为您不应该出现编译错误。 - Louis Wasserman
你把它存储在一个TreeMultimap变量中,当然不会起作用。将其放入ListMultimap中就可以了。 - Louis Wasserman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接