按键和值接受空实例排序HashMap

时间:2017-10-03 18:52:50

标签: java sorting hashmap

我有一个包含用户列表的HashMap,密钥是该用户参与的团队的ID。这组键看起来像这样:

[59b83da60b616d17065a993a, null, 59b84145cb49632609e03811, 59a82440cc32316561d803ce, 59c109aa20fe7b48f3832eef, 59a74647cc32316561d7be21, 59c5013b20fe7b48f3871c83]

考虑到每个团队都有ID和名称,我想知道如何通过相应的名称对这个HashMap进行排序,如果这些ID并将字段null保留在HashMap的第一个位置

我有一个团队列表,我可以轻松查看ID为" 1"使用方法getName(String id)。但我的困难是处理HashMap。

1 个答案:

答案 0 :(得分:3)

如果您想对地图进行排序,则不应使用HashMap,而应使用SortedMap之类的TreeMap。您通常可以使用比较器初始化此类映射以指定排序顺序。类似的东西:

Map<String, Team> teams = new TreeMap<>(Comparator.nullsFirst(Comparator.naturalOrder()));