数字使用直接比较大小来排序,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&commat; 利用ArrayList实现dijkstra算法以及topological 排序算法&lpar;java&period;util&period;ArrayList&rpar;

package dataStructure; import java.util.ArrayList; import java.util.LinkedList; import java.util.Que ...

java中Collections&period;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进行排序相关推荐

  1. java arraylist comparable_Java 两种ArrayList集合自定义对象属性排序,Comparator接口 或 Comparable接口...

    1,Comparator接口 -- 重写Comparator public class User { private String id; private String name; public Us ...

  2. [转载] Java8新特新--Stream语法应用在ArrayList的元素移除和排序

    参考链接: 如何在Java 8中打印Stream的元素 单元测试: @Test public void Test02(){ // 源 ArrayList<Integer> IdsSour ...

  3. java对arrayList按数字大小逆序排序

    介绍 对集合排序要用Collections.sort方法,由于默认它是按从小到大的排序的,如果我们需要逆序的,那么就需要实现Comparator接口的compare方法来完成自定义排序. 需要注意Co ...

  4. arraylist java 排序_「arraylist排序」java ArrayList的两种排序方法 - seo实验室

    arraylist排序 1.ArrayList使用排序的初衷 我们知道ArrayList的好处是可以不用限定容器的大小,他会根据元素的增加自己扩大.但是存储进去的数据类型都会变成object,虽然每个 ...

  5. 合并两个无序数组java_Java实现十大排序算法(上)

    概念 概念解释稳定如果a原本在b前面,而a=b,排序之后a仍然在b的前面.不稳定如果a原本在b的前面,而a=b,排序之后 a 可能会出现在 b 的后面.时间复杂度对排序数据的总的操作次数,反映当n变化 ...

  6. 数据结构 排序 java_Java数据结构之排序---选择排序

    简单选择排序的介绍: 从给定的序列中,按照指定的规则选出某一个元素,再根据规定交换位置后达到有序的目的. 简单选择排序的基本思想: 假定我们的数组为int [] arr = new int[n],第一 ...

  7. 【排序算法】图解桶排序

    目录 前言 桶排序思想 桶排序算法分析 时间复杂度分析 桶排序适用情况 实现一个桶排序 结语 前言 在数据结构与算法的排序中,我们很多人可能更多的熟悉冒泡排序.快速排序.归并排序.可能对堆排序.桶排序 ...

  8. 排序算法 - 面试中的排序算法总结

    排序算法总结 查找和排序算法是算法的入门知识,其经典思想可以用于很多算法当中.因为其实现代码较短,应用较常见.所以在面试中经常会问到排序算法及其相关的问题.但万变不离其宗,只要熟悉了思想,灵活运用也不 ...

  9. java中的五种排序方法_用Java排序的五种有用方法

    java中的五种排序方法 Java排序快速概述: 正常的列表: private static List VEGETABLES = Arrays.asList("apple", &q ...

最新文章

  1. HttpUrlConnection底层实现和关于java host绑定ip即时生效的设置及分析
  2. windows服务搭建及命令总结
  3. 实战:动手搭建一个开源动作相机
  4. 职场:5种幼稚表现,好多工作十年的人还在犯
  5. 关于XAMPP环境配置
  6. SQl---基础整理5
  7. 一文带你全面了解java对象的序列化和反序列化
  8. 9个项目助你在2020年成为前端大师!
  9. tomcat apr Dockfile
  10. mappedbytebuffer_小师妹学JavaIO之:MappedByteBuffer多大的文件我都装得下
  11. 超全的JS重新加载当前页面的几种方式
  12. Hibernate 继承映射可能会遇到的错误
  13. 方案分享 | 淘宝首页那些“辣眼睛”的图去哪了?
  14. FFT算法讲解——麻麻我终于会FFT了!
  15. 国企“造船”转行测试,成功拿下11K,如今谁又甘心平庸呢?
  16. 关于a标签的hover问题
  17. spring-cloud-oauth2
  18. [转载]Android实现更换皮肤功能
  19. 非因解读 | DSP空间多组学助力胃癌预后标志物的发现
  20. 《论语》原文及其全文翻译 学而篇11

热门文章

  1. AutoLisp 基本函数
  2. ssh:使用ssh链接服务器的时候报错 Add correct host key in /root/.ssh/known_hosts to get rid of this message
  3. Vue3 + Ant Design Vue Modal 对话框可拖拽指令
  4. 世界时间(卡西欧电波表24个城市缩写翻译及简介)
  5. Unity小技巧——音频文件间断问题
  6. 产品分析|虎扑APP
  7. web服务器tomcat_扩展Tomcat Web服务器的功能
  8. 1.OSI七层模型 - 物理层
  9. c# sendmessage 发送键盘按键详解
  10. 项目范围管理的重要性