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)
相关推荐
LZY16199 小时前
MySQL下载安装及配置
数据库·mysql
WJX_KOI11 小时前
保姆级教程:Apache Flink CDC(standalone 模式)部署 MySQL CDC、PostgreSQL CDC 及使用方法
java·大数据·mysql·postgresql·flink
IT枫斗者11 小时前
MyBatis批量插入性能优化:从5分钟到3秒的工程化实践
前端·vue.js·mysql·mongodb·性能优化·mybatis
王德印12 小时前
工作踩坑之导入数据库报错:Got a packet bigger than ‘max_allowed_packet‘ bytes
java·数据库·后端·mysql·云原生·运维开发
秋氘渔13 小时前
Django查询集优化:惰性加载、N+1查询问题及解决方案
mysql·django·select_related
dreams_dream13 小时前
MySQL 的 GTID 模式
数据库·mysql
Dovis(誓平步青云)13 小时前
《MySQL 权限与访问进阶:普通用户搭建、跨端登录及 C/C++ 开发对接教程》
数据库·mysql
t***44231 天前
MySQL 导出数据
数据库·mysql·adb
翔云1234561 天前
MySQL主从库复制中,主库如何查找对应日志文件位置
数据库·mysql
Mr_star_galaxy1 天前
【MySQL基础】视图和权限管理
数据库·mysql