Comparable接口

Comparable

其含义是可比较的,如果对象所在的类实现了Comparable接口,这类对象就是可以进行大小比较,接口就是用于指定对象排序规则的
此接口强行对实现他的每个类的对象进行排序规则的。此接口强行对实现它的每个类的对象进行整体排序,此排序也被称为自然排序,类的compareTo方法被称为自然比较方法。强烈推荐使用自然排序与equals一致。所谓equals一致是针对类C的每一个Obj1和Obj2来说,当且仅当(Obj1.cpmpareTo(Obj2==0))与Obj1.equals(Obj2)具有相同的布尔值,类C的自然排序才叫做equals一致。

public interface Comparable<T>{
	public int compareTo(T o);//必须实现的方法,这里定义两个对象的比较规则,如果相等返回0;如果当前对象大于参数o则返回整数1;如果当前对象小于参数o则返回负数-1.
}

为苹果类实现一个比较方法

public class Apple implements Compareable{
	priavte double redius;//半径值
	public int compateTo(Object obj){
		if(obj!=null && obj instanceof Apple){
			Apple app = (Apple)obj;
			if(this.redius> app.redius){
				return 1;
			}else if(this.redius == app.redius){
				return 0;
			}
		}
		return -1;
	}
}

冒泡算法的基本骨架

public class BubbleSort{
	public void Sort(Comparable[] arr){
		for(int i = 1;i<arr.length;i++){
			for(int j = i; j<arr.length-i;j++){
				if(arr[j].comparableTo(arr[j+1]) > 0){
					Comparable tmp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = tmp;
				}
			}
		}
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值