Java 常用的转换、排序

1 字符串、数组、集合的转换

定义字符串数组 String[] strArr

String[] strArr = {"Red", "Green", "Blue"};

1.1 字符串数组转集合

List<String> list = Arrays.asList(strArr);

1.2 字符串集合转数组

String[] strArrNew = list.toArray(new String[0]);

1.3 字符串集合转逗号分隔的字符串

String str = String.join(",", list);

1.4 逗号分隔的字符串转字符串集合

List<String> list2 = new ArrayList<>(Arrays.asList(str.split(",")));

1.5 对象集合转 Map<String, Integer>

定义对象 Person

private static class Person {
    private String name;
    private Integer age;
}

定义对象 Person 的集合 List

List<Person> personList = Lists.newArrayList(
    new Person("Jordan", 38),
    new Person("O'Neal", 34),
    new Person("James", 31),
    new Person("Kobe", 34),
    new Person("Trace", 32)
);

对象集合转为 Map

Map<String, Integer> personMap = personList.stream().collect(Collectors.toMap(Person::getName, Person::getAge));

2 List、Map 的排序

2.1 List 自然排序

list.sort(Comparator.naturalOrder());

2.2 List 按 age 倒序

personList.sort(Comparator.comparing(Person::getAge).reversed());

2.3 Map<String, Integer> 按 value 倒序

personMap.entrySet().stream()
    .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (o, n) -> o, LinkedHashMap::new));
posted @   O&#39;Neal  阅读(513)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
点击右上角即可分享
微信分享提示