好的,所以我有一个Map<String, List<String>>
,我试图使用HashMap(不按字母顺序排序,也不按照它们放入的方式排序)和TreeMap,它按字母顺序对其进行排序。我不希望这样,我希望它在被放入时对它进行排序,所以说如果我添加“a”,然后是“c”,然后是“b”,我希望它是:
“a,c,b”不是“a,b,c”
提前感谢您的回答。
答案 0 :(得分:2)
使用java.util.LinkedHashMap
。
来自https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html:
使用Hash表和Map接口的链表实现 可预测的迭代顺序。此实现与HashMap不同 因为它维护着一个贯穿所有链接的双向链表 条目。该链表定义了迭代排序,即 通常是键插入地图的顺序 (插入顺序)。请注意,如果键是插入顺序不受影响 被重新插入地图。 (如果将密钥k重新插入到地图m中 当m.containsKey(k)返回true时,调用m.put(k,v) 在调用之前。)