通过排序对对象中的值进行排序? [复制]

Posted

技术标签:

【中文标题】通过排序对对象中的值进行排序? [复制]【英文标题】: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中。

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

我试过了

【问题讨论】:

【参考方案1】:

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

【讨论】:

以上是关于通过排序对对象中的值进行排序? [复制]的主要内容,如果未能解决你的问题,请参考以下文章