【问题标题】:Sorting values in objects by putting order? [duplicate]通过排序对对象中的值进行排序? [复制]
【发布时间】:2020-09-10 06:21:40
【问题描述】:

说有一个清单,我在里面加了一些东西:

list.add(new Stuff("Test1"))
list.add(new Stuff("Test2"))
list.add(new Stuff("Test3"))
list.add(new Stuff("Test4"))
list.add(new Stuff("Test5"))

如果我像这样把它放在哈希图中:

private static HashMap<Integer, Report> hashMap = new HashMap<>();

public static void getStuffs(Stuff stuff) {

        int hashCode = stuff.hashCode();

        if (!hashMap.containsKey(hashCode)) {
            hashMap.put(hashCode, stuff);
        }
    }

当我打印存储在 hashMap 中的值时,预期的输出是:

Test1
Test2
Test3
Test4
Test5

但它实际上以奇怪的顺序存储在hashMap中。

谁能告诉我如何解决这个问题?

我试过了

【问题讨论】:

    标签: java sorting hashmap


    【解决方案1】:

    使用LinkedHashMap 而不是HashMap。您也可以从文档中了解到,HashMapLinkedHashMap 之间的主要区别在于 LinkedHashMap 维护键的插入顺序(即键插入 LinkedHashMap 的顺序),而 @ 987654329@ 不维护任何键的顺序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      • 1970-01-01
      • 2021-08-19
      • 1970-01-01
      • 2012-12-24
      相关资源
      最近更新 更多