【问题标题】:Preserve order by value when inserting to map [duplicate]插入地图时按值保留顺序[重复]
【发布时间】:2019-05-11 02:19:46
【问题描述】:

我需要按价值保留订单。我写了一些代码,但它并不是最佳的。

我有这样的课,

class MyClass extends SomeOtherClass {

    private Map<Object, Object> resMap= new HashMap<>();

    Object getRes(Object key) {
        return resMap.get(key);
    }

    void putRes(Object key, Object value) {
        resMap.put(key, value);
    }

我希望每次调用 putRes(Object value) 时都按值保留顺序。 if value (that I received as an input) > all other values in map 之类的东西放在前面,如果该值等于 map 中的某个值,则放在后面。

感谢任何帮助。

upd:我需要按值排序,而不是按键排序。 upd:我需要通过调用一些值的方法 getPriority() 进行排序。

【问题讨论】:

  • 为什么不能使用hash map?
  • 我需要在按 VALUE 放入地图时保留顺序。如果您有解决方案,我会很高兴看到它)
  • 插入值后如何使用地图?你在迭代它吗?

标签: java algorithm sorting dictionary tree


【解决方案1】:

你可以看看SortedMap:

进一步提供其键的总排序的 Map。地图是 根据其键的自然顺序排序,或按 比较器通常在排序地图创建时提供。

【讨论】:

    猜你喜欢
    • 2010-12-26
    • 2012-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多