hutool Map<Interget,String> 1,东莞,2,河源,3,东莞 地点排序:按照河源、深圳、惠州、中山、东莞
时间: 2023-07-10 07:11:00 浏览: 54
使用Hutool中的MapUtil可以更简单地实现Map的排序,代码如下:
```
// 创建Map对象
Map<Integer, String> placeMap = new HashMap<>();
// 添加数据
placeMap.put(1, "东莞");
placeMap.put(2, "河源");
placeMap.put(3, "东莞");
// 定义排序规则
Comparator<Integer> comparator = Comparator.comparingInt(o -> {
switch (o) {
case 2:
return 1;
case 1:
case 3:
return 2;
default:
return 3;
}
});
// 排序
Map<Integer, String> sortedPlaceMap = MapUtil.sort(placeMap, comparator);
// 输出排序后的Map
for (Map.Entry<Integer, String> entry : sortedPlaceMap.entrySet()) {
System.out.println(entry.getKey() + "," + entry.getValue());
}
```
在Hutool中,我们可以使用MapUtil.sort方法来对Map进行排序,只需要传入需要排序的Map对象和Comparator对象即可。根据题目中的要求,我们可以定义一个Comparator对象来实现排序规则。
在Comparator中,我们首先使用switch语句判断地点编号,如果是2(河源),就放在最前面。如果是1或3(东莞),就放在第二个位置。如果是其他地点,就放在最后一个位置。
最后,我们将定义好的Comparator对象传入到MapUtil.sort方法中,并输出排序后的Map即可。
相关推荐
![jar](https://img-home.csdnimg.cn/images/20210720083455.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)