栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java对数组排序

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java对数组排序

Java对数组排序

刷leetcode肯定会用到排序,在Java中对数组排序用Arrays,对集合类排序用Collections。

工具类Arrays

数组排序用Arrays,Arrays专门针对int[],Object[]等基础数组

//基础类型排序。只支持升序
int[] ints = new int[]{8,3,6,5,4,7,9,1,2};
Arrays.sort(ints);//升序,向变降序必须转化为Integer然后再操作
//基础类型要使用降序,需要转换
//      通过流操作转成IntStream,然后排序,再在转回IntStream,通过toArray()获取int[]
//        ints = Arrays.stream(ints)
//                .boxed()
//                .sorted((o1,o2)->o2-o1)
//                .mapToInt(o->o)
//                .toArray();

double[] doubles = new double[]{8,3,6,5,4,7,9,1,2};
Arrays.sort(doubles);//升序

//引用类型排序,可根据自定义Comparator,或者实现接口Comparable来控制升降序
User[] users = new User[]{new User("zhangsan",11),new User("lisi",15)};
Arrays.sort(users, (o1, o2) -> o2.getAge()-o1.getAge());//根据自定义Comparator,降序

Object[] objects = new Object[]{new User("zhangsan",11),new User("lisi",15)};
Arrays.sort(objects);//User实现了Comparable,自定义为降序
工具类Collections

集合类的排序使用Collections。这里的排序只能针对有顺序性的集合类

//List的都能排序
List arrayList = new ArrayList<>();
arrayList.add(5);
arrayList.add(2);
arrayList.add(7);
Collections.sort(arrayList); //升序

LinkedList linkedList = new LinkedList<>();
linkedList.add(5);
linkedList.add(2);
linkedList.add(7);
Collections.sort(linkedList,(o1, o2) -> o2-o1); //降序
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1014438.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号