我想使用值比较器将项目插入 HashMap、TreeMap 或 SortedMap(您可能会建议一些其他 api)。
我读过很多帖子,包括这个one https://stackoverflow.com/questions/109383/how-to-sort-a-mapkey-value-on-the-values-in-java,大多数帖子建议在插入所有项目后将 HashMap 重新插入到具有值比较器的 SortedMap 中。
我没有兴趣再次重新插入所有值。是否没有一个选项或类似 Map 的数据结构支持在每次插入后激活值比较器?
如果存在重复的问题,我希望有一个链接(我已经做了一些搜索,尽管我可能错过了一些)
同样,我有兴趣向某种有序映射添加一个值,以便在每次插入后,所有项目都将按值而不是键排序。
Map 条目中的值实际上是一个带有一些 getter 的复杂对象,我只想按值对象上的特定 getter 进行排序。
我想你需要的是org.apache.commons.collections.bidimap.TreeBidiMap http://commons.apache.org/collections/apidocs-COLLECTIONS_3_1/org/apache/commons/collections/bidimap/TreeBidiMap.html
BidiMap 基于红黑树的实现,其中添加的所有对象都实现 Comparable 接口。
此类保证映射将采用升序键顺序和升序值顺序,并根据键和值的类的自然顺序进行排序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)