zoukankan      html  css  js  c++  java
  • Java对数组和列表的排序1.8新特性

    Java对数组列表的排序

    数组

    Integer[] a = new Integer[] { 1, 2, 3, 4, 5, 6, 9, 8, 7, 4, 5, 5, 6, 6 };

    Arrays.sort(a, (x, y) -> x - y);

    Stream.of(a).forEach(x -> System.out.print(" " + x));

    列表

    ArrayList<Integer> list = new ArrayList<>();

    list.add(1);list.add(6);

    list.add(3);list.add(4);

    list.add(8);list.add(67);

    Integer[] arr = new Integer[10];

    Collections.sort(list, (x, y) -> x - y);

    list.stream().forEach(x -> System.out.print(" " + x));

    基本封装数据类型Integer使用Arrays.sort()排序数组并且使用lambda表达式写入一个比较器

    基本封装数据类型Integer使用Collections.sort()排序列表并且使用lambda表达式写入一个比较器

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    数组

    Student s1 = new Student(1, "小红", 12);

    Student s2 = new Student(3, "小张", 10);

    Student s3 = new Student(2, "小王", 8);

    Student[] students = { s1, s2, s3 };

    Arrays.sort(students, (x, y) -> y.id - x.id);

    Stream.of(students).forEach(x -> System.out.println(" " + x.toString()));

    列表

    ArrayList<Student> list = new ArrayList<>();

    list.add(s1);

    list.add(s2);

    list.add(s3);

    Collections.sort(list, (x, y) -> x.id - y.id);

    list.stream().forEach(x -> System.out.println(" " + x.toString()));

    换成自己定义的Student对象实际操作是一样的,下面是列表嵌套一样的操作

    ArrayList<ArrayList<Integer>> list = new ArrayList<>();

    Collections.sort(list, (x, y) -> x.size() - y.size());

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    这里做一个Stream排序的格外增加的一个操作,意义不大,但是思维开阔了

    Stream.of(students).sorted((x, y) -> y.id - x.id).forEach(x -> System.out.println(" " + x.toString()));

    list.stream().sorted((x, y) -> y.id - x.id).forEach(x -> System.out.println(" " + x.toString()));

     

     

     

     

     

     

  • 相关阅读:
    ios10兼容问题
    safari图片跨域
    出现Unable to locate appropriate constructor on class 错误可能的原因
    localStorage、sessionStorage用法以及区别
    多行文本垂直居中,多行文本溢出
    【汉字】转【pīnyīn】
    移除行块级元素之间的空格(译文)
    jquery插件——检测DOM元素是否在浏览器可视范围之内
    监控阮一峰老师的blog
    PHP实现linux命令tail -f
  • 原文地址:https://www.cnblogs.com/xzmxddx/p/10245664.html
Copyright © 2011-2022 走看看