java – 排序番石榴BiMap

我是Guava图书馆的新人,但发现BiMap适合我的需要.我的一个问题是我需要在BiMap中排序值.通常我会使用一个TreeMap,因为它继承排序,但是能够反转地图来看这些键,就像它们是一个值一样.

所以我正在寻找你的专家关于这方面的建议.我看到的解决方案是:
 1.创建一个BiMap比较器并使用我自己的地图排序实用程序.
 2.建立自己的“BiTreeMap”数据结构.

有没有我没有考虑过的解决方案?有没有一个“番石榴之路”这样做,我错过了?谢谢!

最佳答案
我们目前没有一个排序的BiMap类型,因为它有点不明确如何工作:条目是否按键排序?通过值?前进条目将按键排序,反向条目按值排序?

目前,唯一真实可用的替代方案是ImmutableBiMap,它保留了您将条目放入的顺序 – 所以ImmutableBiMap.copyOf(Maps.newTreeMap(map))将为您提供按键排序的BiMap.

(我们可能会更认真地考虑提供一个直接排序的BiMap,如果您提交了一个功能请求与更多的细节用例).

转载注明原文:java – 排序番石榴BiMap - 代码日志