166_07_集合_SortedSet_集合详解_03_比较器Comparator

package settest;
import java.util.*;
public class Test03 {

	public static void main(String[] args) {
		//传入一个比较器
       SortedSet  s = new TreeSet(new ProuductCompare());
       Product p1 =new Product(3.14);
       Product p2 =new Product(2.5);
       Product p3 =new Product(9.1);
       Product p4 =new Product(0.131);
       Product p5 =new Product(4.3);
       s.add(p1);
       s.add(p2);
       s.add(p3);
       s.add(p4);
       s.add(p5);
       Iterator i = s.iterator();
       while(i.hasNext()){
    	   System.out.println(i.next());//0
		}
		
	}
	

}
class Product{
	double price;
	@Override
	public String toString() {
		return "Product [price=" + price + "]";
	}
	public Product(double price) {
		this.price = price;
	}
}
//自己编写一个比较器,这样保留了原来类的集成
class ProuductCompare implements Comparator{

	@Override
	public int compare(Object o1, Object o2) {
		if(o1==o2) return 0;
		double d1 = ((Product)o1).price;
		double d2 = ((Product)o2).price;
		if(d1>d2){
			return 1;
		}else{
			return -1;
		}
	}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值