一、功能说明

1、实现并列排名:1、1、3、4、4、6

二、实现逻辑

1、将数据封装到User对象中,操作对象进行并列排名处理

三、代码

1、新建User对象
public class User {private String name;private Integer age;private Integer index;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}public Integer getIndex() {return index;}public void setIndex(Integer index) {this.index = index;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;User user = (User) o;return Objects.equals(name, user.name) && Objects.equals(age, user.age) && Objects.equals(index, user.index);}@Overridepublic int hashCode() {return Objects.hash(name, age, index);}@Overridepublic String toString() {return "User{" +"name='" + name + '\'' +", age=" + age +", index=" + index +'}';}public User() {}public User(String name, Integer age) {this.name = name;this.age = age;}
}
2、Rank 代码
public class RankDemo {public static void main(String[] args) {List<User> list = new ArrayList<>();User user0 = new User("张0", 33);User user1 = new User("张1", 38);User user2 = new User("张2", 60);User user3 = new User("张3", 56);User user4 = new User("张4", 38);User user5 = new User("张5", 64);User user6 = new User("张6", 56);User user7 = new User("张7", 26);User user8 = new User("张8", 33);User user9 = new User("张9", 55);Collections.addAll(list, user0, user1, user2, user3, user4, user5, user6, user7, user8, user9);List<User> rankList = list.stream().sorted(Comparator.comparing(User::getAge)).collect(Collectors.toList());int count = 1;for (int i = 0; i < rankList.size(); i++) {if (i == 0) {rankList.get(0).setIndex(count);count++;} else {if (rankList.get(i).getAge().equals(rankList.get(i-1).getAge())){rankList.get(i).setIndex(rankList.get(i-1).getIndex());count++;}else {rankList.get(i).setIndex(count);count++;}}}for (User user : rankList) {System.out.println("user = " + user);}}
}
3、输出展示
Connected to the target VM, address: '127.0.0.1:53811', transport: 'socket'
user = User{name='张7', age=26, index=1}
user = User{name='张0', age=33, index=2}
user = User{name='张8', age=33, index=2}
user = User{name='张1', age=38, index=4}
user = User{name='张4', age=38, index=4}
user = User{name='张9', age=55, index=6}
user = User{name='张3', age=56, index=7}
user = User{name='张6', age=56, index=7}
user = User{name='张2', age=60, index=9}
user = User{name='张5', age=64, index=10}
Disconnected from the target VM, address: '127.0.0.1:53811', transport: 'socket'Process finished with exit code 0

java实现并列排名相关推荐

  1. 编程:假设有n个人进行排名,允许并列排名,名次并列人的不同顺序算一种,总共有多少种排名?

    疯狂游戏笔试一道有趣的编程题:排名问题 题目描述 解题思路 代码 题目描述 假设有n个人进行排名,允许并列排名,名次并列人的不同顺序算一种,总共有多少种排名? 例:n=2,输出3,有:a>b,a ...

  2. 输出数组中数字排名(不允许并列排名)

    输出数组中数字排名(不允许并列排名) 算法一(有缺陷的算法):将当前元素大于数组中元素的个数作为其排名. /*** 算法一* 思路:将每个数组中元素与整个数组中的所有元素(包括自身)比较,* 累计该元 ...

  3. mysql怎么查询排第几名并列_MySQL并列排名和顺序排名查询

    准备.创建一张叫scores的表,内容如下.因为测试排名,所以就用最简单的结构.idscore199 280 387 460 580 699 需求.获取分数排名,要求并列排名.如果两个分数相同,则两个 ...

  4. 岳阳学计算机软件,岳阳学java专业学校排名

    岳阳学java专业学校排名,qoishe. 岳阳学java专业学校排名例如,支持基于的存储库,因此切换提供程序微不足道不同的人员可能有着截然不同的偏见,因此,有人员认为是不错(或糟糕)的替代者并不意味 ...

  5. 2023年深圳Java培训机构排名,不看后悔系列!

    不忘初心,方得始终.2023,继续战斗!想要学习Java的小伙伴们看过来~深圳Java培训机构排名最新排行榜来了!靠谱的Java培训机构都在这里,总有一个你喜欢的,总能选出一个合适你的,快拿出小本本记 ...

  6. mysql怎么做排名并列_MySQL实现排名并查询指定用户排名功能,并列排名功能

    MySQL实现排名并查询指定用户排名功能,并列排名功能 表结构: CREATE TABLE test.testsort ( id int(11) NOT NULL AUTO_INCREMENT, ui ...

  7. mysql并列查询_MYSQL实现排名及查询指定用户排名功能(并列排名功能)实例代码...

    前言 本文主要介绍了关于mysql实现排名及查询指定用户排名功能(并列排名功能)的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧 表结构: create table test ...

  8. 2023年长沙Java培训机构排名前十新鲜出炉!有你心仪的机构吗?

    2023年带着希望向我们走来了~在经历了2022年疫情尾年之后,全新的发展格局即将开启,如何能选对职业赛道也将决定我们的发展未来是否可期,人工智能.大数据.云计算等计算机软件开发领域势不可挡.那么如何 ...

  9. 2022年南京Java培训机构排名,实力突出遥遥领先

    2022年南京Java培训机构排名,实力突出遥遥领先 近日,中国权威机构公布了2022年南京Java培训机构排名,本次排名第一的机构仍是动力节点,在2021年中,动力节点在Java培训机构排名中始终始 ...

最新文章

  1. 一杯茶的时间,上手Zabbix
  2. Spark LogisticRegression 逻辑回归之建模
  3. opencv 的特征提取算子SIFT/ORB/SURF
  4. MFC Combo-box显示大小
  5. 德国超级计算机中心,德国:强化人工智能能力建设 加大高性能计算网络投资...
  6. android monkey优化,GitHub - baozhida/AndroidMonkey: 这个项目是CrashMonkey4Android可执行文件,修复了一些bug,做了一些优化...
  7. MVC3教程之实体模型和EF CodeFirst
  8. 二叉树 | 根据前序、后序生成中序
  9. EBS R12.1安装中文补丁包BUG:FAILED: file XLIFFLoader.class on worker [X]
  10. matlab怎么实现循环码,利用Matlab实现循环码编码
  11. java整数int的32位输出
  12. opc服务器协议gsd,S7-300如何通过GSD文件实现PROFIBUS DP主从通讯
  13. javaScript判断数组内容去重方法
  14. 详解验证码与打码平台的攻防对抗
  15. 友情链接加nofollow_如何在WordPress中添加Nofollow链接(适用于初学者的简单指南)
  16. 西游记中唐僧禅心坚定不好女色
  17. 从零开始学Snaker(一)- 官方项目运行
  18. Qt Style Sheets指定自定义控件样式
  19. 提炼函数(Extract Method)
  20. matplotlib可视化之饼图plt.pie()与plt.legend()中bbox_to_anchor参数的理解

热门文章

  1. 眼底血管分割——毕业论文
  2. vmvare中centos忘记账号密码
  3. Google浏览器搜索技巧(提高效率)
  4. php unset方法,php – unset()在类方法中不起作用
  5. 从零打造一款轻量且天然支持SSR的CMS系统——simpleCMS
  6. php方面的调查报告,2015年JavaScript开发者调查报告:PHP是最好的编程语言!
  7. TensorFlow的几个问题
  8. 向云计算要技术红利,华为云定义云原生2.0时代
  9. SAP FICO 供应商往来款余额查询表开发说明书(包括开发源代码、测试样例及FS)
  10. 54 WebGL实现阴影效果