对于一个key是身份证号value是姓名的map排序如何实现
时间: 2023-06-06 22:06:15 浏览: 82
您好,关于您的问题,可以通过以下步骤实现:
1. 先将Map转换为List集合,可以使用Map.entrySet()方法将Map转成Set集合,再通过ArrayList构造器将Set集合转成List集合;
2. 通过Collections.sort()方法排序,可以使用Comparator接口的实现类来定制排序规则,比如通过身份证号排序;
3. 最后遍历排序后的List集合即可得到排序后的结果。
具体代码实现如下:
```
Map<String, String> map = new HashMap<>();
List<Map.Entry<String, String>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
// 比较身份证号大小
return o1.getKey().compareTo(o2.getKey());
}
});
for (Map.Entry<String, String> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
```
阅读全文