1,Arrays是针对数组操作的类,Collections是针对集合操作的类
2,Comparable一般在自定义类的时候使用。如果自定义类没有实现Comparable接口,还需要有某种排序的功能, 那么就要用上Comparator 比较器了
- 比较器(Comparable、Comparator)
- 对比较器升序、降序的理解:(1)compare方法中,写成return o1.compareTo(o2) 或者 return o1-o2表示升序;(2)写成return o2.compareTo(o1) 或者return o2-o1表示降序
- Comparator是对对象整体上的排序,所以可以将对象理解为只包含两个待比较元素的对象,对这两个对象指定的排序规则,就是对整体制定的排序规则,这样可以帮助理解如何制定自定义的排序规则。
//2,通过比较器排序,实现最大堆
PriorityQueue<Integer> maxHeap = new PriorityQueue<Integer>(new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
/**以下是对比较器升序、降序的理解.
*(1) 写成return o1.compareTo(o2) 或者 return o1-o2表示升序
*(2) 写成return o2.compareTo(o1) 或者return o2-o1表示降序
*/
return o2.compareTo(o1);
}
}) ;