java 获取最高20%数据

有两个问题:

  • 假如是空列表或者数据量过小,那么使用get方法会抛出数组越界

    list = new ArrayList();
    list.get(list.size() / 4) // 可能出现 get(0)越界

解决

使用stream().limit()方法。

复制代码
 List<Double> sortPoint = new ArrayList();
sortPoint.stream().sort(<实现一个比较器>).limit(sortPoint.size() / 5).toList();
collect.isEmpty() ? 0 : collect.get(collect.size() - 1);

第二种:

复制代码
list.size() / 4 >= list.size() ? 0: list.get(list.size() / 4)
相关推荐
rrrjqy1 小时前
用 Docker 部署远程 MySQL:从端口踩坑到权限全开(附避坑指南)
mysql·adb·docker
ahauedu2 小时前
MySQL 8.0+ 默认使用 caching_sha2_password 插件进行密码加密
数据库·mysql
_evenif3 小时前
MySql 8 一机多实例部署
linux·数据库·mysql
shaoming37765 小时前
MySQL篇之对MySQL进行参数优化,提高MySQL性能
数据库·mysql
程序员夏末5 小时前
【MySQL | 第一篇】 深入理解三大日志(undo Redo Bin)
数据库·mysql
ruxingli6 小时前
MySQL优化
数据库·mysql
feng68_6 小时前
MySQL集群主从复制
linux·运维·数据库·mysql·adb
Xzq2105097 小时前
Mysql API学习
数据库·学习·mysql
宁小法7 小时前
MySQL - 读写延迟, 并发导致的问题-分析与解决
数据库·mysql·主从延迟·并发请求
流星白龙7 小时前
【MySQL】0.MySQL安装
数据库·mysql