type
status
date
slug
summary
tags
category
icon
password
对数组或数组列表排序
Arrays.sort
- Arrays.sort() 方法只能对数组进行排序,而不能对其他集合类型像 List 进行排序
- 原址排序,不开辟额外的空间
- 对基本类型数组都提供了两种sort方法
- 对整个数组排序
- 对数组中一段区间排序[fromIndex,toIndex]
Collections.sort
- Collections.sort() 方法可以对 List 中的元素按照默认的升序进行排序
- 默认排序方式:
ArrayList中的 sort
Comparable接口
- 位于java.lang包
- 让对象可以按照一定规则排序
- 核心方法:public int compareTo(T o)
- 返回负数表示当前对象小于传入对象o
- 返回正数表示当前对象大于传入对象o
- 返回零表示当前对象等于传入对象o
Comparator接口
- 位于java.util包
- Comparator接口通常用于对集合中的元素进行排序,可以在集合的构造方法中传入一个Comparator对象,以自定义排序规则。
- 为啥有了Comparable接口还不够?
- 不是所有的类都会实现Comparable接口
- 即使实现Comparable接口,但排序规则也不是我们所希望的时候
- 核心方法:int compare(T o1, T o2);
- 返回负数表示对象 o1 小于对象 o2
- 返回正数表示对象 o1 大于对象 o2
- 返回零表示对象 o1 等于对象 o2