通过排序对对象中的值进行排序? [复制]
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
。您也可以从文档中了解到,HashMap
和 LinkedHashMap
之间的主要区别在于 LinkedHashMap
维护键的插入顺序(即键插入 LinkedHashMap
的顺序),而 @ 987654329@ 不维护任何键的顺序。
【讨论】:
以上是关于通过排序对对象中的值进行排序? [复制]的主要内容,如果未能解决你的问题,请参考以下文章