gpt4 book ai didi

java - 如何使用 lambda 表达式在 java 中计算每月排名?

转载 作者:行者123 更新时间:2023-12-01 16:33:51 26 4
gpt4 key购买 nike

我正在尝试根据每月的百分比计算 A 排名。但目前,在 Lambda 表达式的帮助下,排名正在以年份为基础。那么如何以一个月为单位来计算呢?

这是我尝试过的代码:

List<MVisitsBean> summaryScore = rDao.getdealer_performance(mvBean,mvBean.getYear(),mvBean.getMonth(),mvBean.getRegion_id(),mvBean.getOutlet_id(),mvBean.getBrand_id(),mvBean.getDealer_id(),mvBean.getLimit(),total);

double[] score = {Double.MIN_VALUE};
int[] no = {0};
Integer[] rank = {0};
List<MVisitsBean> ranking =
summaryScore.stream().sorted(Comparator.comparingDouble(MVisitsBean::getYtd_dealer_avg1).reversed())
.map(p -> {
++no[0];
if (score[0] != p.getYtd_dealer_avg1()) rank[0] = no[0];
p.setYtd_dealer_rank(rank[0]);
return new MVisitsBean(rank[0], score[0] = p.getYtd_dealer_avg1());
})
// .distinct() // if you want to remove duplicate rankings.
.collect(Collectors.toList());
System.out.println(ranking);

String jsonArray = gson.toJson(ranking);
System.out.println(jsonArray);

最佳答案

您想要计算月而不是年。所以这个 bean :

List<MVisitsBean> summaryScore = rDao.getdealer_performance(mvBean,mvBean.getYear(),mvBean.getMonth(),mvBean.getRegion_id(),mvBean.getOutlet_id(),mvBean.getBrand_id(),mvBean.getDealer_id(),mvBean.getLimit(),total);

它是根据年份和月份计算的。我假设如果你将 getYear 更改为 getMonth,将 getMonth 更改为 getDay(我假设这个 bean 具有类似“getDay”的内容),应该没问题。

然后在您的直播中:

      List<MVisitsBean> ranking = 
summaryScore.stream().sorted(Comparator.comparingDouble(MVisitsBean::getYtd_dealer_avg1).reversed())
.map(p -> {
++no[0];
if (score[0] != p.getYtd_dealer_avg1()) rank[0] = no[0];
p.setYtd_dealer_rank(rank[0]);
return new MVisitsBean(rank[0], score[0] = p.getYtd_dealer_avg1());
})

我不知道 bean 中每个参数的具体作用。但我假设:

MVisitsBean::getYtd_dealer_avg1

与 bean 的年份有关。您应该找到与月份相关的内容,例如:

MVisitsBean::getMtd_dealer_avg1

在 bean 中并更新流中的 getter 和 setter(getYtd_dealer_avg1、setYtd_dealer_rank)。

否则,在不知道您的MVisitsBean结构的情况下很难更准确地回答。

希望对您有所帮助。

关于java - 如何使用 lambda 表达式在 java 中计算每月排名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62001312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com