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

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

1、创建一个继承 Comparator 的类

package com.how2java.tmall.comparator; import java.util.Comparator; import com.how2java.tmall.pojo.Product; public class ProductAllComparator implements Comparator
{
@Override public int compare(Product p1, Product p2) {
return p2.getReviewCount()*p2.getSaleCount()-p1.getReviewCount()*p1.getSaleCount(); } }

2、对数组进行排序

Collections.sort(list, new ProductAllComparator());

拓展:一个比较器包含多种排序方法

public class ProductComparator implements Comparator
{
private String sort; public ProductComparator(String sort) {
this.sort = sort; } public ProductComparator() {
} @Override public int compare(Product o1, Product o2) {
int result = 0; switch (sort) {
case "review": result = o1.getReviewCount() - o2.getReviewCount(); break; case "date": result = o1.getCreateDate().compareTo(o2.getCreateDate()); break; case "saleCount": result = o1.getSaleCount() - o2.getSaleCount(); break; case "price": result = (int) (o1.getPromotePrice() - o2.getPromotePrice()); break; case "all": result = o1.getSaleCount() * o1.getReviewCount() - o2.getSaleCount() * o2.getSaleCount(); break; default: result = 0; break; } return result; }}

转载地址:http://nyern.baihongyu.com/

你可能感兴趣的文章
为什么人和人的差距这么大?
查看>>
ML.NET 推荐引擎中一类矩阵因子分解的缺陷
查看>>
微软2020开源回顾:止不住的挨骂,停不下的贡献
查看>>
说说 RabbiMQ 的应答模式
查看>>
OpenTelemetry - 云原生下可观测性的新标准
查看>>
使用 ML.NET 实现峰值检测来排查异常
查看>>
通过 .NET NativeAOT 实现用户体验升级
查看>>
如何友好的处理 WebApi 中抛出的错误
查看>>
因MemoryCache闹了个笑话
查看>>
Dotnet的垃圾回收
查看>>
乘风破浪,.Net Core遇见Dapr,为云原生而生的分布式应用运行时
查看>>
gRPC在C#中的未来属于grpc-dotnet
查看>>
快速排序的性能和名字一样优秀
查看>>
开源推荐:Asp.Net Core入门学习手册!
查看>>
ML.NET 示例:对象检测
查看>>
C#基于yolov3的行人检测
查看>>
ML.NET Cookbook:(16)什么是规范化?为什么我需要关心?
查看>>
WPF 修改(优化)Menu菜单的样式
查看>>
晕了!这个配置值从哪来的?
查看>>
我开发了一款基于web容器的前端项目容器
查看>>