Comparable接口
- Java中大部分包装的数据类型都实现了该接口
- 该接口实现一个compareTo()方法来定义目标类型对象的自然次序
- 实现类可以通过compareTo()方法进行比较
v.compareTo(w)
v<w时,v.compare(w) < 0
模板
// 比较两个Compareabel的大小,如果v < w ,返回真
public static boolean less(Comparable v, Comparable w) {
return v.compareTo(w) < 0;
}
// 交换a[i]和a[j]
public static void exch(Comparable[] a, int i, int j) {
Comparable t = a[i];
a[i] = a[j];
a[j] = t;
}
// 遍历Comparable类型数组
public static void show(Comparable[] a) {
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
}
// 判断Comparable类型数组是否有序,如果有序返回真
public static boolean isSorted(Comparable[] a) {
for (int i = 1; i < a.length; i++) {
if( less(a[i], a[i-1]) ) {
return false;
}
}
return true;
}