如果一个map的key和value都是String类型,value是保留两位数的百分比,如何排序
时间: 2023-03-30 17:02:43 浏览: 71
可以使用Comparator对Map进行排序,具体实现如下:
```java
Map<String, String> map = new HashMap<>();
map.put("A", "12.34%");
map.put("B", "56.78%");
map.put("C", "90.12%");
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) {
double v1 = Double.parseDouble(o1.getValue().replace("%", ""));
double v2 = Double.parseDouble(o2.getValue().replace("%", ""));
return Double.compare(v1, v2);
}
});
for (Map.Entry<String, String> entry : list) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
```
输出结果为:
```
A: 12.34%
B: 56.78%
C: 90.12%
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)
![](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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)