博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java——类比较器
阅读量:5055 次
发布时间:2019-06-12

本文共 2526 字,大约阅读时间需要 8 分钟。

1、Product类

1 public class Product 2 { 3     private int pid; 4     private String name; 5     private double price; 6  7     public Product() 8     { 9         // TODO Auto-generated constructor stub10     }11 12     public Product(int pid, String name, double price)13     {14         this.pid = pid;15         this.name = name;16         this.price = price;17     }18 19     public int getPid()20     {21         return pid;22     }23 24     public void setPid(int pid)25     {26         this.pid = pid;27     }28 29     public String getName()30     {31         return name;32     }33 34     public void setName(String name)35     {36         this.name = name;37     }38 39     public double getPrice()40     {41         return price;42     }43 44     public void setPrice(double price)45     {46         this.price = price;47     }48 49 }

2、类比较器:重写compare方法

1 public class MyCompare implements Comparator
// 泛型
表示该比较器只能比较Product类型 2 { 3 4 @Override 5 public int compare(Product p1, Product p2) 6 { 7 if (p1.getPrice() < p2.getPrice()) 8 { 9 return -1;10 }11 else if (p1.getPrice() > p2.getPrice())12 {13 return 1;14 }15 else16 // 如果价格一样,按照id排序17 {18 if (p1.getPid() < p2.getPid())19 {20 return -1;21 }22 else if (p1.getPid() > p2.getPid())23 {24 return 1;25 }26 else27 {28 return 0;29 }30 }31 }32 33 }

3、在ArrayList中使用比较器

1 public class ProductSort 2 { 3     public static void main(String[] args) 4     { 5      6                 Product p1 = new Product(1, "爆米花手机", 1000000.00); 7         Product p2 = new Product(2, "iPhone 7s", 5088.00); 8         Product p3 = new Product(3, "小米5s", 1999.99); 9         Product p4 = new Product(4, "NIIT课程", 12800.00);10         Product p5 = new Product(5, "百达翡丽", 1980000.00);11         Product p6 = new Product(6, "宝玛electric", 1999.99);12         Product p7 = new Product(7, "TIIN课程", 12800.00);13                 // 获得数组准备排序14         Product[] proArr = { p1, p2, p3, p4, p5, p6, p7 };15 16         Arrays.sort(proArr, new MyCompare());17 18         for (Product p : proArr)19         {20             System.out.println(p.getPid() + " " + p.getName() + " "21                     + p.getPrice());22         }23     }24 }

 

转载于:https://www.cnblogs.com/god-S/p/4747414.html

你可能感兴趣的文章
css3动画——基本准则
查看>>
javaweb常识
查看>>
Java注解
查看>>
web自己主动保存表单
查看>>
一个小的日常实践——高速Fibonacci数算法
查看>>
机器学些技法(9)--Decision Tree
查看>>
drf权限组件
查看>>
输入月份和日期,得出是今年第几天
查看>>
Centos6.4安装JDK
查看>>
【linux】重置fedora root密码
查看>>
pig自定义UDF
查看>>
Kubernetes 运维学习笔记
查看>>
Spark MLlib 之 Naive Bayes
查看>>
spring security 11种过滤器介绍
查看>>
学习网址
查看>>
前端表格插件datatables
查看>>
内部类
查看>>
树链剖分入门
查看>>
图解算法时间复杂度
查看>>
UI_搭建MVC
查看>>