【发布时间】:2020-08-23 19:34:59
【问题描述】:
我有一个具有以下结构的 HashMap,
{val1#val2=val3#val4-val5}
其中 key = val1#val2 和 value=val3#val4-val5 ,
HashMap<String, String> h = new HashMap<String, String>();
h.put("aaa#bbb", "111#444-555");
h.put("bbb#aaa", "222#ddd-222");
h.put("111#999", "000#213-aaa");
我有三个条件,我必须将地图排序为, 1. 通过 val1。 2. 通过 val2。 3. 通过 val3。
【问题讨论】:
-
首先,您可能想使用
LinkedHashMap,因为普通的哈希映射不会保持顺序。 -
另外,这些值是否总是包含 3 个字符?
-
那么你想要实现什么?根据它们的键对地图进行排序?
-
没有值将由# @Schred 分隔
-
HashMap是无序的。您根本无法对其进行排序,更不用说“基于不同的条件”了。使用TreeMap。
标签: java sorting data-structures