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)
相关推荐
一只自律的鸡22 分钟前
【MySQL】第十一章 存储过程和存储函数
数据库·mysql
翔云12345626 分钟前
MySQL 中的 utf8 vs utf8mb4 区别
数据库·mysql
强子感冒了39 分钟前
MySQL学习随笔:数据类型与字段约束
学习·mysql
一只酸奶牛^_^1 小时前
解决LinuxDeploy部署mysql、redis数据库无法启动问题。
redis·mysql
CodeBlossom1 小时前
MySQL进阶 索引
数据库·mysql
小北方城市网4 小时前
Spring Cloud Gateway 自定义过滤器深度实战:业务埋点、参数校验与响应改写
运维·jvm·数据库·spring boot·后端·mysql
indexsunny4 小时前
互联网大厂Java面试实录:Spring Boot微服务在电商场景中的应用与挑战
java·spring boot·redis·mysql·security·microservices·interview
海星船长丶4 小时前
预编译与sql注入,正则回溯绕过,mysql常见绕过,报错注入7大常用函数
服务器·数据库·sql·mysql·网络安全
PythonFun4 小时前
WPS单元格中如何分别设置中英字体为不同字号
数据库·mysql·wps
Mikhail_G4 小时前
Mysql数据库操作指南——数据库(零基础篇)
大数据·数据库·sql·mysql·数据分析