博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java对ArrayList进行排序
阅读量:7238 次
发布时间:2019-06-29

本文共 2181 字,大约阅读时间需要 7 分钟。

数字使用直接比较大小来排序,String的话,使用compare()方法进行排序。

测试代码:

1.对字符串对象排序

1     @Test 2     public void test17() throws Exception { 3         List< String > stringList = new ArrayList<>(); 4         stringList.add("haha"); 5         stringList.add("123"); 6         stringList.add("wq"); 7         stringList.add("d"); 8         stringList.add("rt"); 9         stringList.add("uuk");10         System.out.println("排序前:" + stringList);11         Collections.sort(stringList, new Comparator< String >() {12             @Override13             public int compare(String lhs, String rhs) {14                 System.out.println("排序字符串:" + lhs + "," + rhs);15 16                 int i = lhs.compareTo(rhs);17                 System.out.println("排序结果" + i);18                 if ( i > 0 ) {19                     return 1;20                 } else {21                     return -1;22                 }23             }24         });25         System.out.println("排序后:" + stringList);26     }

打印的日志:

1 排序前:[haha, 123, wq, d, rt, uuk] 2 排序字符串:123,haha 3 排序结果-55 4 排序字符串:wq,123 5 排序结果70 6 排序字符串:wq,haha 7 排序结果15 8 排序字符串:d,haha 9 排序结果-410 排序字符串:d,12311 排序结果5112 排序字符串:rt,haha13 排序结果1014 排序字符串:rt,wq15 排序结果-516 排序字符串:uuk,haha17 排序结果1318 排序字符串:uuk,wq19 排序结果-220 排序字符串:uuk,rt21 排序结果322 排序后:[123, d, haha, rt, uuk, wq]

 

2.对数字进行排序

1     @Test 2     public void test18() throws Exception { 3         List< Integer > stringList = new ArrayList<>(); 4         stringList.add(123); 5         stringList.add(32); 6         stringList.add(0); 7         stringList.add(-4); 8         stringList.add(5); 9         stringList.add(123131);10         System.out.println("排序前:" + stringList);11         Collections.sort(stringList, new Comparator< Integer >() {12             @Override13             public int compare(Integer lhs, Integer rhs) {14                 if ( lhs > rhs ) {15                     return 1;16                 } else {17                     return -1;18                 }19             }20         });21         System.out.println("排序后:" + stringList);22     }

打印日志:

排序前:[123, 32, 0, -4, 5, 123131]排序后:[-4, 0, 5, 32, 123, 123131]

 

在实现Comparator接口的compare()方法的时候,return 1代表大于,return -1代表小于。然后根据返回值来进行排序。

转载地址:http://wlrfm.baihongyu.com/

你可能感兴趣的文章
质量报告之我见
查看>>
微信域名weixin.com天价成交!是腾讯吗?
查看>>
C#实现远程机器管理
查看>>
Android生成带图片的二维码
查看>>
jQuery对表单、表格的操作及更多应用(下:其他应用)
查看>>
[.net 面向对象编程基础] (21) 委托
查看>>
阶乘相关问题
查看>>
ASP.NET MVC导出excel(数据量大,非常耗时的,异步导出)
查看>>
Java引用类型变量
查看>>
利用window.navigator.userAgent判断当前是否微信内置浏览器
查看>>
《Programming WPF》翻译 第9章 2.选择一个基类
查看>>
IOS-整体框架类图
查看>>
在Ubuntu下安装*.sh
查看>>
NavigationBar 隐藏底部边线,阴影
查看>>
三种最典型的大数据存储技术路线
查看>>
stl非变易算法(二)
查看>>
java 关键字 transient
查看>>
Ubuntu配置和修改IP地址
查看>>
转载:如何设计一个可扩展的用户登录系统
查看>>
python对redis的常用操作 上 (对列表、字符串、散列结构操作)
查看>>