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()));

最新文章

  1. Smart3D系列教程7之 《手动配置S3C索引加载全部的瓦片数据》
  2. 解密jQuery内核 样式操作
  3. Could not publish to the server. java.lang.NullPointerException
  4. Java类加载器总结
  5. Ubuntu Server安装图形界面全过程
  6. Glut 回调函数小结
  7. 小结 javascript中的类型检测
  8. WebKit笔记
  9. 手势交互之GestureDetector
  10. 371. Sum of Two Integers -- Avota
  11. ThinkPHP神秘应用架构扩展
  12. maven 集成tomcat6,tomcat7
  13. ThinkingInJava 学习 之 0000001 一切都是对象
  14. Visual Studio 2012自动添加注释(如版权信息等)
  15. Mock 模拟测试简介及 Mockito 使用入门
  16. tomcat 乱码问题
  17. 一道SQL题
  18. mysql 命令行参数说明
  19. 【Github教程】史上最全github使用方法:github入门到精通(转自eoeandroid.com)
  20. 验收测试 - WebDriver 5

热门文章

  1. elasticsearch windows环境安装和配置
  2. 运维日常之机房浪潮服务器硬盘红灯亮起,服务器一直响,raid磁盘红色。。。故障解决方法
  3. hive查询结果保存
  4. Spring JdbcTemplate 和 NamedParameterJdbcTemplate 使用
  5. Luogu P2572 序列操作
  6. git diff 命令用法
  7. Django 前端通过json 取出后端数据
  8. C#实现Web链接启动应用程序
  9. python中逐行打印
  10. time、date、datetime、timestamp和year