Java List 排序(附中文排序)
1、Collections.sort的使用
1 | // 相关源码 |
Collections.sort()方法可以对List的具体实现进行排序。
1 | // 一个简单的例子 |
String实现了Comparable接口,因此我们可以调用 方法1 对由String组成的ArrayList进行排序。当然Java中还有很多实现Comparable接口的类,像Integer、Boolean、BigDecimal、File和Date等。
2、使用Comparable排序
1 | // 相关源码 |
实现 Comparable接口的类需要重写compareTo()方法,该方法接收一个同类型的对象,要实现当前对象和接收到的对象的比较。compareTo()方法返回int类型的比较结果:
- 正值表示当前对象比传递给compareTo()的对象大
- 负值表示当前对象比传递给compareTo()的对象小
- 零表示两个对象相等
待排序的对象X实现了Comparable接口,实现了compareTo方法后就可以使用 方法1 Collections.sort(list
3、使用Comparator排序
1 | // 相关源码 |
Comparator接口提供了一个叫compare()的方法,要注意的是compare()接受两个相同类型的对象进行比较。
实现该接口实现该方法后,即可使用 方法2 Collections.sort(list, comparator
最后附上一个字符串简体中文的排序。
1 | List<String> names = new ArrayList<>(); |