java map里面key是中文名字,value是String,根据key名字姓名首字母进行A-Z排序代码示例
时间: 2024-05-10 19:19:56 浏览: 119
以下是对中文名字进行 A-Z 排序的 Java 代码示例,假设 Map 中存储了以下数据:
```
Map<String, String> nameMap = new HashMap<>();
nameMap.put("张三", "A");
nameMap.put("李四", "B");
nameMap.put("王五", "C");
```
可以使用 `Collator` 类来对中文名字进行排序。
```java
import java.text.CollationKey;
import java.text.Collator;
import java.util.*;
public class SortMapByKey {
public static void main(String[] args) {
// 要排序的Map
Map<String, String> nameMap = new HashMap<>();
nameMap.put("张三", "A");
nameMap.put("李四", "B");
nameMap.put("王五", "C");
// 按Key进行排序
List<Map.Entry<String, String>> sortedList = new ArrayList<>(nameMap.entrySet());
Collections.sort(sortedList, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> o1, Map.Entry<String, String> o2) {
Collator collator = Collator.getInstance(Locale.CHINA);
CollationKey key1 = collator.getCollationKey(o1.getKey());
CollationKey key2 = collator.getCollationKey(o2.getKey());
return key1.compareTo(key2);
}
});
// 输出排序后的结果
for (Map.Entry<String, String> entry : sortedList) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
```
输出结果为:
```
李四: B
王五: C
张三: A
```
阅读全文