Java对ArrayList进行排序
2016-06-05 16:58
330 查看
数字使用直接比较大小来排序,String的话,使用compare()方法进行排序。
测试代码:
1.对字符串对象排序
打印的日志:
2.对数字进行排序
打印日志:
在实现Comparator接口的compare()方法的时候,return 1代表大于,return -1代表小于。然后根据返回值来进行排序。
测试代码:
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大牛养成记(10)----Maven
- java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
- Java千百问_01基本概念(007)_线程的状态有哪些
- JavaWEB_POI导出大量数据excel(50万左右)
- Eclipse中System.out.println()快捷键?
- Java实现动态加载读取properties文件
- struts各种问题
- mui.ajax与服务器(SpringMVC)传输json数据
- Java 环境下使用 AES 加密的特殊问题处理
- javaWeb4 jsp 内置对象
- java学习总结(2)
- OpenJDK1.8.0 源码解析————HashMap的实现(二)
- java中包命名常见规则
- java虚拟机学习——前言
- java抽象类-接口
- Java原始类型和引用类型
- Java 编程下字符串的 16 位、32位 MD5 加密
- 《Eclipse.Rich.Client.Platform》3章 Tutorial Introduction
- Java实现 统计单词出现的次数并按照单词频率从高到低输出
- spring实现固定时间定时器