一.List实现

public List<HabitRankingListResult> fun(List<HabitRankingListResult> habitRankingListResults){habitRankingListResults.sort( new  Comparator<HabitRankingListResult>(){@Overridepublic int compare(HabitRankingListResult o1, HabitRankingListResult o2) {return  -Double.compare(o1.getSumHour(), o2.getSumHour());}});//排名int sort = 0;//最近一次的分double  lastScore = - 1 ;for (int i = 0; i < habitRankingListResults.size(); i++) {Map.Entry<Double, List<HabitRankingListResult>> entry =new MapEntry<>();HabitRankingListResult s = habitRankingListResults.get(i);//如果上次的成绩和这次的成绩不相同,那么+1if(Double.compare(lastScore,s.getSumHour()) != 0){lastScore = s.getSumHour();sort++;}s.setSort(sort);}return habitRankingListResults;}

二.Map实现

int max = list.stream().map(m -> m.get("EQVA").toString()).distinct().collect(Collectors.counting()).intValue();
//从小到大排序,先排第一名
int sort = 0;//排名
Set<BigDecimal> set = new HashSet<>();
List<Long> mySort = new ArrayList<>();
for (Map<String, Object> map : list) {BigDecimal eqva = new BigDecimal(map.get("EQVA").toString());if (set.add(eqva)) {sort += 1;};//查特殊码2 RES_ID, 对应的值。到data数据表,查他对应的值,这个值等于resId,对应的排名String resUdc = twTopListMapper.findTopUdcRes(dataSource);if (resUdc != null) {for(Map.Entry<String, Object> vo : map.entrySet()){if(vo.getKey().equals(resUdc)){if(map.get(resUdc).toString() != null){Long res = new Long(map.get(resUdc).toString()); //获取res的值if (res.equals(resId) || res == resId) { //如果resid等于res的值则,它的排名就是sortmySort.add(Long.valueOf(sort));}}}}}map.put("sort", sort);result.add(map);
}

JAVA 排行榜实现相关推荐

  1. java排行榜任务积分redis_Redis 实现用户积分排行榜

    排行榜功能是一个很普遍的需求.使用 Redis 中有序集合的特性来实现排行榜是又好又快的选择. 一般排行榜都是有实效性的,比如"用户积分榜".如果没有实效性一直按照总榜来排,可能榜 ...

  2. python和java哪个好-现在Java和Python哪个前景更好?

    如果说你学编程是想要往工作方向发展,那么我建议你学Java,为什么呢?因为Java这个语言在我国发展的很完善,在我国也是最受欢迎的编程语言之一.相当于你现在学了Java技术出来既可以在一线城市找到合适 ...

  3. 暴雪战网_暴雪工人分享薪水以抗衡工资差距

    暴雪战网 By Jason Schreier 杰森·施雷尔(Jason Schreier) Employees at Blizzard Entertainment, a division of Act ...

  4. “坑爹”排行榜:Java语言最违反常识的功能点TOP 10

    来自:互联网全栈架构 作为一门面向对象的编程语言,Java凭借其简单易用.功能强大的特点受到了广大编程爱好者的青睐,伴随着开源社区的推波助澜,Java语言更是席卷全球,势不可挡,在世界各地都有Java ...

  5. R语言ineq算基尼系数_5 月编程语言排行榜:Java第一,R跌出Top20

    我们都知道,最近,TIOBE 发布了 5 月份编程语言排行榜.其中,前三名依然健稳不变,他们分别是 Java.C.C++,第四则为: Python ,第五则为 VB .NET. 下面两张图,我们可以看 ...

  6. 人工智能开发语言排行榜:不死Java,不朽C/C++,新贵Python

    看了这个排行榜, 小编只想说:流水的编程语言,铁打的Java,C/C++!! 人工智能的前景已经不用多说了,越来越多的人看重人工智能的前景,想要在这互联网的风口有一番作为.要做到这点,首先要确定进入人 ...

  7. java框架_2020年Java框架排行榜,谁居榜首?

    作者丨Patricia Neil来源丨Java技术驿站https://urlify.cn/ammaYj诞生于1995年的Java,目前已在134,861个网站上广泛使用,包括ESPN.SnapDeal ...

  8. java5年转c语言,时隔5年,C语言再次领先Java,荣登编程语言排行榜第一!

    日前,编程语言社区TIOBE最新发布了5月编程语言排行榜.整体上来看,排名前10的语言基本都稳定如常.本期最大的亮点就是:C语言反超Java,荣登排行榜第一. 上一次C语言排名第一还是在2015年,5 ...

  9. c++和java哪个难_2020 年 11 月编程语言排行榜,Python 超越 Java ?

    来源:tiobe.com/tiobe-index/November-2020 TIOBE 2020 年 11 月份的编程语言排行榜已经公布,官方的标题是:Python 势如破竹,超越 Java. 题外 ...

最新文章

  1. mysql的判断更新_mysql判断记录是否存在,存在则更新,不存在则插入
  2. Codeforces Round #573 (Div. 2)(ABCD)
  3. linux ctrlc 退出循环_linux按行读取 (while read line与forloop)
  4. 怎么解决python Non-ASCII character错误
  5. php转调页面,PHP中HTTP防盗链技术
  6. (办公)eclipse连接github cannot open git-upload-pack(git-receive-pack)
  7. Python存储和读取数据
  8. C++ 自旋锁简单实现
  9. 这么多前端优化点你都记得住吗?
  10. 【电路仿真】基于simulink全数字锁相环设计【含Matlab源码 340期】
  11. 中国网和七牛云达成战略合作,携手打造国际化融媒中心
  12. linux下磁盘及文件系统基础知识(1)
  13. 同花顺linux 行情软件,GitHub - zhnlks/puppet: 简单的股票程序化交易系统。核心模块基于同花顺和通达信金融终端。用户交流群:624585416...
  14. 计算机组成原理A原是什么,计算机组成原理(A).doc
  15. 大数据项目实战——基于某招聘网站进行数据采集及数据分析(五)
  16. 金华驾驶员考试中心 科目二、科目三和科目四
  17. Vue(踩坑)vue.esm.js?efeb:628 [Vue warn]: Error in render: TypeError: Cannot read property '0' of unde
  18. 【计算机网络】Socket聊天室程序
  19. 【java注解--使用注解封装自动拼接sql 】
  20. 分治法解决最近点对问题

热门文章

  1. 怎么实现工业软件自动化模具设计
  2. 网教盟认证的注册网络安全等级测评工程师证书学员福利来啦
  3. item_search - 按关键字搜索1688商品
  4. cv2利用voc中数据集对图片进行涂色
  5. Self-Training Multi-Sequence Learning with Transformer for Weakly Supervised VAD 【AAAI 2022】
  6. 新东方剖析陈冠希英文道歉信
  7. 关于WinExec的问题?
  8. 联想g510拆键盘的简单方法_联想Z500笔记本更换键盘图文简单教程
  9. numactl mysql_mysqld_multi多实例及numactl资源绑定
  10. PTA 循环结构设计(C语言)