package com;
import java.util.Arrays;
//实现Comparable接口,使该类的对象可排序
public class TestComparable implements Comparable {
//该类的属性i
private double i = Math.random();
//实现Comparable接口的抽象方法,定义排序规则
public int compareTo(Object o) {
//定义排序规则: TestComparable对象里的属性i大的则排序时比较"大"(排序靠后)
if (o instanceof TestComparable) {
if (i > ((TestComparable) o).i) {
return 1;
} else {
return -1;
}
} else {
//非TestComparable对象与之比较,则抛出异常
throw new ClassCastException("Can't compare");
}
}
//重载toString方法定义输出
public String toString() {
return ""+i;
}
//测试
public static void main(String[] args) {
//建立一个数组, 元素为3个TestComparable对象
TestComparable[] c = new TestComparable[] { new TestComparable(),
new TestComparable(), new TestComparable() };
//排序前
System.out.println(Arrays.asList(c));
//排序
Arrays.sort(c);
//排序后
System.out.println(Arrays.asList(c));
}
}
本文介绍了一个具体的Java类TestComparable,该类实现了Comparable接口并定义了其对象的排序规则。通过示例展示了如何使用Arrays.sort()方法对包含此类对象的数组进行排序。
992

被折叠的 条评论
为什么被折叠?



