arraylist 排序 java_Java对ArrayList进行排序
数字使用直接比较大小来排序,String的话,使用compare()方法进行排序。
测试代码:
1.对字符串对象排序
@Test
public void test17() throws Exception {
List< String > stringList = new ArrayList<>();
stringList.add("haha");
stringList.add("123");
stringList.add("wq");
stringList.add("d");
stringList.add("rt");
stringList.add("uuk");
System.out.println("排序前:" + stringList);
Collections.sort(stringList, new Comparator< String >() {
@Override
public int compare(String lhs, String rhs) {
System.out.println("排序字符串:" + lhs + "," + rhs);
int i = lhs.compareTo(rhs);
System.out.println("排序结果" + i);
if ( i > 0 ) {
return 1;
} else {
return -1;
}
}
});
System.out.println("排序后:" + stringList);
}
打印的日志:
排序前:[haha, 123, wq, d, rt, uuk]
排序字符串:123,haha
排序结果-55
排序字符串:wq,123
排序结果70
排序字符串:wq,haha
排序结果15
排序字符串:d,haha
排序结果-4
排序字符串:d,123
排序结果51
排序字符串:rt,haha
排序结果10
排序字符串:rt,wq
排序结果-5
排序字符串:uuk,haha
排序结果13
排序字符串:uuk,wq
排序结果-2
排序字符串:uuk,rt
排序结果3
排序后:[123, d, haha, rt, uuk, wq]
2.对数字进行排序
@Test
public void test18() throws Exception {
List< Integer > stringList = new ArrayList<>();
stringList.add(123);
stringList.add(32);
stringList.add(0);
stringList.add(-4);
stringList.add(5);
stringList.add(123131);
System.out.println("排序前:" + stringList);
Collections.sort(stringList, new Comparator< Integer >() {
@Override
public int compare(Integer lhs, Integer rhs) {
if ( lhs > rhs ) {
return 1;
} else {
return -1;
}
}
});
System.out.println("排序后:" + stringList);
}
打印日志:
排序前:[123, 32, 0, -4, 5, 123131]
排序后:[-4, 0, 5, 32, 123, 123131]
在实现Comparator接口的compare()方法的时候,return 1代表大于,return -1代表小于。然后根据返回值来进行排序。
Java之ArrayList自定义排序,通过实现comparator比较器接口
两种排序方式: 1.实体类实现Comparable接口,重写compareTo(T o)方法,在其中定义排序规则,那么就可以直接调用Collections.sort()来排序对象数组 2.在调用方法的 ...
JAVA对ArrayList排序
ava如何对ArrayList中对象按照该对象某属性排序 增加排序功能,打印时:输出学生对象的时候,需要先按照年龄排序,如果年龄相同,则按照姓名排序,如果姓名也相同,则按照学号排序. Code hig ...
java@ 利用ArrayList实现dijkstra算法以及topological 排序算法(java.util.ArrayList)
package dataStructure; import java.util.ArrayList; import java.util.LinkedList; import java.util.Que ...
java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...
java SE 常用的排序算法
java程序员会用到的经典排序算法实现 常用的排序算法(以下代码包含的)有以下五类: A.插入排序(直接插入排序.希尔排序) B.交换排序(冒泡排序.快速排序) C.选择排序(直接选择排序.堆排序) ...
Java list的用法排序及遍历
arraylist 排序 java_Java对ArrayList进行排序相关推荐
- java arraylist comparable_Java 两种ArrayList集合自定义对象属性排序,Comparator接口 或 Comparable接口...
1,Comparator接口 -- 重写Comparator public class User { private String id; private String name; public Us ...
- [转载] Java8新特新--Stream语法应用在ArrayList的元素移除和排序
参考链接: 如何在Java 8中打印Stream的元素 单元测试: @Test public void Test02(){ // 源 ArrayList<Integer> IdsSour ...
- java对arrayList按数字大小逆序排序
介绍 对集合排序要用Collections.sort方法,由于默认它是按从小到大的排序的,如果我们需要逆序的,那么就需要实现Comparator接口的compare方法来完成自定义排序. 需要注意Co ...
- arraylist java 排序_「arraylist排序」java ArrayList的两种排序方法 - seo实验室
arraylist排序 1.ArrayList使用排序的初衷 我们知道ArrayList的好处是可以不用限定容器的大小,他会根据元素的增加自己扩大.但是存储进去的数据类型都会变成object,虽然每个 ...
- 合并两个无序数组java_Java实现十大排序算法(上)
概念 概念解释稳定如果a原本在b前面,而a=b,排序之后a仍然在b的前面.不稳定如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面.时间复杂度对排序数据的总的操作次数,反映当n变化 ...
- 数据结构 排序 java_Java数据结构之排序---选择排序
简单选择排序的介绍: 从给定的序列中,按照指定的规则选出某一个元素,再根据规定交换位置后达到有序的目的. 简单选择排序的基本思想: 假定我们的数组为int [] arr = new int[n],第一 ...
- 【排序算法】图解桶排序
目录 前言 桶排序思想 桶排序算法分析 时间复杂度分析 桶排序适用情况 实现一个桶排序 结语 前言 在数据结构与算法的排序中,我们很多人可能更多的熟悉冒泡排序.快速排序.归并排序.可能对堆排序.桶排序 ...
- 排序算法 - 面试中的排序算法总结
排序算法总结 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中.因为其实现代码较短,应用较常见.所以在面试中经常会问到排序算法及其相关的问题.但万变不离其宗,只要熟悉了思想,灵活运用也不 ...
- java中的五种排序方法_用Java排序的五种有用方法
java中的五种排序方法 Java排序快速概述: 正常的列表: private static List VEGETABLES = Arrays.asList("apple", &q ...
最新文章
- HttpUrlConnection底层实现和关于java host绑定ip即时生效的设置及分析
- windows服务搭建及命令总结
- 实战:动手搭建一个开源动作相机
- 职场:5种幼稚表现,好多工作十年的人还在犯
- 关于XAMPP环境配置
- SQl---基础整理5
- 一文带你全面了解java对象的序列化和反序列化
- 9个项目助你在2020年成为前端大师!
- tomcat apr Dockfile
- mappedbytebuffer_小师妹学JavaIO之:MappedByteBuffer多大的文件我都装得下
- 超全的JS重新加载当前页面的几种方式
- Hibernate 继承映射可能会遇到的错误
- 方案分享 | 淘宝首页那些“辣眼睛”的图去哪了?
- FFT算法讲解——麻麻我终于会FFT了!
- 国企“造船”转行测试,成功拿下11K,如今谁又甘心平庸呢?
- 关于a标签的hover问题
- spring-cloud-oauth2
- [转载]Android实现更换皮肤功能
- 非因解读 | DSP空间多组学助力胃癌预后标志物的发现
- 《论语》原文及其全文翻译 学而篇11
热门文章
- AutoLisp 基本函数
- ssh:使用ssh链接服务器的时候报错 Add correct host key in /root/.ssh/known_hosts to get rid of this message
- Vue3 + Ant Design Vue Modal 对话框可拖拽指令
- 世界时间(卡西欧电波表24个城市缩写翻译及简介)
- Unity小技巧——音频文件间断问题
- 产品分析|虎扑APP
- web服务器tomcat_扩展Tomcat Web服务器的功能
- 1.OSI七层模型 - 物理层
- c# sendmessage 发送键盘按键详解
- 项目范围管理的重要性