对番石榴BiMap进行排序

我是Guava图书馆的新手,但发现BiMap非常适合我的需求。 我的一个问题是我需要在BiMap中对值进行排序。 通常情况下,由于它的inheritance排序,我会使用TreeMap,但是能够反转地图以查看键,就像它们是值一样。

所以我一直在寻求专家的建议来解决这个问题。 我看到的解决方案是:1。创建一个BiMap比较器并使用我自己的地图排序实用程序。 2.构建我自己的’BiTreeMap’数据结构。

有没有我考虑过的解决方案? 有没有’番石榴方式’来做到这一点我错过了? 谢谢!

我们目前没有一个排序的BiMap类型,因为它的工作方式有点模糊:条目是否按键排序? 按价值观? 前向条目是否按键排序,反向条目按值排序?

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

BiMap如果您提交了一个function请求,并提供了有关您的用例的更多详细信息,我们可能会更认真地考虑提供直接排序的BiMap 。)