请选择 进入手机版 | 继续访问电脑版

城微方案网

 找回密码
 注册VIP
查看: 48|回复: 0

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

[复制链接]

657

主题

660

帖子

2710

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2710
发表于 2021-3-24 00:18:18 | 显示全部楼层 |阅读模式
  1. package settest;
  2. import java.util.*;
  3. public class Test03 {
  4. public static void main(String[] args) {
  5. //传入一个比较器
  6. SortedSet s = new TreeSet(new ProuductCompare());
  7. Product p1 =new Product(3.14);
  8. Product p2 =new Product(2.5);
  9. Product p3 =new Product(9.1);
  10. Product p4 =new Product(0.131);
  11. Product p5 =new Product(4.3);
  12. s.add(p1);
  13. s.add(p2);
  14. s.add(p3);
  15. s.add(p4);
  16. s.add(p5);
  17. Iterator i = s.iterator();
  18. while(i.hasNext()){
  19. System.out.println(i.next());//0
  20. }
  21. }
  22. }
  23. class Product{
  24. double price;
  25. @Override
  26. public String toString() {
  27. return "Product [price=" + price + "]";
  28. }
  29. public Product(double price) {
  30. this.price = price;
  31. }
  32. }
  33. //自己编写一个比较器,这样保留了原来类的集成
  34. class ProuductCompare implements Comparator{
  35. @Override
  36. public int compare(Object o1, Object o2) {
  37. if(o1==o2) return 0;
  38. double d1 = ((Product)o1).price;
  39. double d2 = ((Product)o2).price;
  40. if(d1>d2){
  41. return 1;
  42. }else{
  43. return -1;
  44. }
  45. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册VIP

本版积分规则

QQ|Archiver|手机版|小黑屋|城微方案网 |网站地图

GMT+8, 2021-4-12 19:37 , Processed in 0.071426 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表