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<Person>

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<String> 自然排序

list.sort(Comparator.naturalOrder());

2.2 List<Person> 按 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));
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 7,093评论 0 4
  • 四、集合框架 1:String类:字符串(重点) (1)多个字符组成的一个序列,叫字符串。生活中很多数据的描述都采...
    佘大将军阅读 4,174评论 0 2
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 8,033评论 2 9
  • Java 语言支持的类型分为两类:基本类型和引用类型。整型(byte 1, short 2, int 4, lon...
    xiaogmail阅读 5,190评论 0 10
  • 第十天 权限修饰符 public protected default private 同一类 true true ...
    炙冰阅读 3,582评论 0 1

友情链接更多精彩内容