Java 集合排序
- 使用Collections类的sort()方法
- sort(List
list) - 根据元素的自然顺序对置顶的列表按升序进行排序
Comparator接口
- 强行对某个对象进行整体排序的比较函数
- 可以将Comparator 传递sort 的方法
- 集合排序 Collections.sort
- 数组排序 Arrays。sort
- int compare(T o1,T o2) 用来比较排序的两个参数
- 如: o1 < o2 返回负整数
- 如: o1 == o2 返回0
- 如: o1 > o2 返回 正整数
- boolean equals(Object obj) 指示某个其他对象是否 “等于” 此 Comparator
- 此方法会被Object 方法中 equals 覆盖,不必重写
Comparable 接口 (java.lang)
- 此接口强行对实现他的每个类的对象精选整体排序
- 这种排序被称为类的自然排序,类的compareTo方法称为他的自然比较方法
- 集合:通过调用Collections.sort 方法进行排序
- 数组:通过调用Array.sort方法进行排序
- int compare(T o1,T o2) 用来比较排序的两个参数
- 如: o1 < o2 返回负整数
- 如: o1 == o2 返回0
- 如: o1 > o2 返回 正整数
Comparator 和Comparable 的区别
| Comparator | Comparable |
|---|---|
| 位于java.util包 | 位于java.lang包 |
| 在要比较的类外部实现该接口 | 在要比较的类上实现该接口 |
| 调用sort方法时,要指定Comparator的实现类 | 调用sort方法时,只需指定集合名即可实现类 |
泛型
为啥使用泛型?
- 在Java中增加泛型之前,泛型程序设计使用继承来实现
- 没用泛型之前:
- 需要强制转换
- 可以向集合中添加任意类型的对象,存在风险
- 用了泛型后
- 不用进行强制类型转换
- 避免运行时异常的安全隐患
泛型的使用
- Java SE7及以后的版本中,构造方法中可以省略泛型类型
- List
list = new ArrayList<>(); - 变量声明的类型必须匹配传递给实际对象的类型
在你开始做之前,别人给的任何建议都是屁。因为自己的心魔自己解,怕东怕西都是自找的。要学习就先得不要脸、抱对大腿,建立正确的心态。

浙公网安备 33010602011771号