java 字符串数组如何按字母排序?
package com.template;import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class Internationalization {
private static Map<String, Object> dataMap;
static {
dataMap = new HashMap<>();
dataMap.put("INTERFACE", "接口");
dataMap.put("LIST", "列表");
dataMap.put("ITEM", "项目");
dataMap.put("ADD", "添加");
dataMap.put("DELETE", "删除");
dataMap.put("EDIT", "编辑");
}
public static void printKey() {
Set keySet = dataMap.keySet();
for (Object item : keySet) {
System.out.println(item);
}
}
}
当前的输出结果
ITEM
ADD
DELETE
INTERFACE
EDIT
LIST
需要对列表进行字母排序, 将输出结果调整为如下
ADD
DELETE
EDIT
INTERFACE
ITEM
LIST
回答:
转数组排序
Object[] arr = dataMap.keySet().toArray();// 或 String[] arr = dataMap.keySet().toArray(new String[dataMap.size()]);
// 或 String[] arr = dataMap.keySet().toArray(String[]::new); // java 11
Arrays.sort(arr);
for (Object k : arr) {
System.out.println(k);
}
转 List
排序
List<String> list = new ArrayList<>(dataMap.keySet());Collections.sort(list);
// 或 list.sort(null); // java 8
for (String k : list) {
System.out.println(k);
}
流排序
dataMap.keySet().stream().sorted().forEach(System.out::println); // java 8
回答:
dataMap.keySet().stream().sorted().forEach(System.out::println); dataMap.keySet().stream().sorted(String.CASE_INSENSITIVE_ORDER).forEach(System.out::println);
dataMap.keySet().stream().sorted(Comparator.naturalOrder()).forEach(System.out::println);
以上是 java 字符串数组如何按字母排序? 的全部内容, 来源链接: utcz.com/p/944572.html