我有一个包含用户列表的HashMap,密钥是该用户参与的团队的ID。这组键看起来像这样:
[59b83da60b616d17065a993a, null, 59b84145cb49632609e03811, 59a82440cc32316561d803ce, 59c109aa20fe7b48f3832eef, 59a74647cc32316561d7be21, 59c5013b20fe7b48f3871c83]
考虑到每个团队都有ID和名称,我想知道如何通过相应的名称对这个HashMap进行排序,如果这些ID并将字段null
保留在HashMap的第一个位置
我有一个团队列表,我可以轻松查看ID为" 1"使用方法getName(String id)
。但我的困难是处理HashMap。
答案 0 :(得分:3)
如果您想对地图进行排序,则不应使用HashMap
,而应使用SortedMap
之类的TreeMap
。您通常可以使用比较器初始化此类映射以指定排序顺序。类似的东西:
Map<String, Team> teams = new TreeMap<>(Comparator.nullsFirst(Comparator.naturalOrder()));