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)
相关推荐
装不满的克莱因瓶1 小时前
【Java架构师体系课 | MySQL篇】③ Explain执行计划详解
java·数据库·mysql·架构·优化·索引·explain
数据知道2 小时前
MySQL:mysql中将表中数据进行删除后,多久空间会被释放出来?
数据库·mysql
九章-2 小时前
甘肃统计投资审核系统完成国产数据库替换:从MySQL到金仓的平稳跨越
数据库·mysql·信创·国产化替换
_Jimmy_2 小时前
Mysql假如单表数据量上亿,会出现什么问题
数据库·mysql
想睡hhh2 小时前
mysql基础——视图
数据库·mysql·视图
沐浴露z4 小时前
详解 MySQL 自适应哈希
数据库·mysql·哈希算法
小五Z4 小时前
MySQL--事务
数据库·mysql
小许学java4 小时前
MySQL存储过程
数据库·mysql·存储过程
Elias不吃糖5 小时前
MYSQL指令合集
数据库·mysql
q***04059 小时前
在 Ubuntu 上安装 MySQL 的详细指南
mysql·ubuntu·adb