java map里面key是中文名字,value是年龄,更据名字姓名首字母A-Z进行排序代码示例
时间: 2024-05-06 09:19:24 浏览: 80
```
import java.util.*;
public class MapSort {
public static void main(String[] args) {
Map<String, Integer> map = new HashMap<>();
map.put("张三", 20);
map.put("李四", 25);
map.put("王五", 30);
map.put("赵六", 35);
List<Map.Entry<String, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
@Override
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
return o1.getKey().compareTo(o2.getKey());
}
});
Map<String, Integer> sortedMap = new LinkedHashMap<>();
for (Map.Entry<String, Integer> entry : list) {
sortedMap.put(entry.getKey(), entry.getValue());
}
System.out.println(sortedMap);
}
}
```
在这个示例中,我们使用了一个 hashmap,将中文名字作为 key,年龄作为 value 存储。我们利用了 Collections.sort() 方法和自定义的 Comparator 对 map 中的 key 进行排序。最后,我们创建了一个 LinkedHashMap 对象,将排序后的 map 存储到其中,以保留排序的顺序。
阅读全文