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;
}
}
}
166_07_集合_SortedSet_集合详解_03_比较器Comparator
最新推荐文章于 2021-02-27 17:19:49 发布