对番石榴双地图进行排序

2022-09-02 21:29:41

我是番石榴图书馆的新手,但发现BiMap非常适合我的需求。我的一个问题是我需要对BiMap中的值进行排序。通常,由于 TreeMap 的继承排序,我会使用 TreeMap,但是能够反转映射以查看键,就好像它们是值一样。

所以我一直在向你们这些专家寻求有关此事的建议。我看到的解决方案是:1.创建一个BiMap比较器并使用我自己的地图排序实用程序。2. 构建我自己的“BiTreeMap”数据结构。

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


答案 1

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

目前,唯一真正可用的替代方案是 ,它保留了您放置条目的顺序 - 因此会按键排序。ImmutableBiMapImmutableBiMap.copyOf(Maps.newTreeMap(map))BiMap

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


答案 2

推荐