排序
2016-08-01 20:12
211 查看
java中对集合排序的方法提供了2种方式。
这里使用的集合
使用的时候传入比较器
使用
步骤: 比较的时候传入比较器
比较器实现的是
compare方法有3个返回值:大于0,小于0,等于0
bean对象实现Comparable 接口
使用:
前提条件:集合中对象必须要实现
然后实现对应的compareTo方法
compareTo方法有3个返回值:大于0,小于0,等于0
}
这里使用的集合
final List<TestNumModel> list = new ArrayList<>();
使用的时候传入比较器
private class Sort implements Comparator<TestNumModel> { public Sort() { } public int compare(TestNumModel tl1, TestNumModel tl2) { if (tl1.getNum() < tl2.getNum()) return -1; else if (tl1.getTimePoint() > tl2.getTimePoint()) return 1; else return 0; } }
使用
Collections.sort(list,new Sort());
步骤: 比较的时候传入比较器
比较器实现的是
Comparator
compare方法有3个返回值:大于0,小于0,等于0
bean对象实现Comparable 接口
public class TestNumModel implements Comparable<TestNumModel> { ... ... ... @Override public int compareTo(TestNumModel another) { double i1 = Double.parseDouble(this.num); double i2 = Double.parseDouble(another.num); if (i1 > i2) { return 1; } else if (i1 < i2) { return -1; } else { return 0; } }
使用:
Collections.sort(list);
前提条件:集合中对象必须要实现
Comparable接口
然后实现对应的compareTo方法
compareTo方法有3个返回值:大于0,小于0,等于0
/** * 使用 Map按key进行排序 * * @param map * @return */ public static Map<String, Person> SortMapByKey(Map<String, Person> map) { if (map == null || map.isEmpty()) { return map; } Map<String, Person> sortMap = new TreeMap<String, Person>(new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }); sortMap.putAll(map); return sortMap; }
}
相关文章推荐
- 实用工具:VS上python开发插件(python tools for visual studio)
- HDU-2120-Ice_cream's world I【并查集】
- 使用Windows API进行GDI窗口绘图
- ActiveMQ学习(四)企业级应用配置详解
- hdu 2586 LCA
- Java入门级知识小结
- JDBC查看数据表结构
- Linux多线程程序设计
- mysql-5.7.13 解压版安装教程
- php生成随机验证码
- 第一天的Android学习
- 第二篇:SWT和JavaFX选哪个?
- 6种手势的讲解
- hduThe All-purpose Zero+LIS
- 随堂笔记7.30:枚举,构建者模式,内部类的详细介绍-------2
- python random从集合中随机选择元素
- 如何求最小三元组距离
- 通达信:显示K线图日期
- C#中 如何处理 JSON中的特殊字符
- Set重写hashCode()和equals()的实例