比较器的排序原理,相当于二叉树的排序算法,使用第一个元素作为跟节点,如果后面的内容比跟节点要小,则放在左子树,如果要大,就放在右子树。然后按照中序排序取出来。
java.util.Comparator接口
public interface Comparable<T>{
public int compareTo(T o);
}
//返回值int型,1表示大于,-1表示小于,0表示相等
可以直接使用java.util.Arrays类进行数组的排序操作,但对象所在的类必须实现Comparable接口,否则会报错。
public interface Comparator<T> {
public int compare(T o1, T o2) ;
boolean equals(Object obj);
}
/*int compare(T o1, T o2) 返回一个基本类型的整型
如果要按照升序排序,
则o1 小于o2,返回-1(负数),相等返回0,01大于02返回1(正数)
如果要按照降序排序
则o1 小于o2,返回1(正数),相等返回0,01大于02返回-1(负数)
*/
// 若一个类要实现java.util.Comparator接口:它一定要实现int compare(T o1, T o2) 函数,而另一个可以不实现boolean equals(Object obj) 函数