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)
相关推荐
基德爆肝c语言几秒前
MySQL:数据库基础
数据库·mysql
左直拳17 小时前
mysql分区表自动归档
mysql·分区表·分区表归档
haven-85217 小时前
MySQL事务ACID、隔离级别、MVCC、幻读解决
数据库·mysql
加加and减减20 小时前
Docker真实安装mysql8教程并优化配置
运维·mysql·docker·容器
程序猿乐锅20 小时前
【MySQL | 第九篇】MySQL 存储过程
数据库·mysql
王小王-12320 小时前
基于深度学习的个性化音乐推荐系统的设计与开发
人工智能·深度学习·mysql·vue·推荐算法·个性化音乐推荐系统·音乐预测
xuefuhe21 小时前
MySQL8.4 tar.xz安装
mysql
五阿哥永琪1 天前
正则表达式
数据库·mysql·正则表达式
LaughingZhu1 天前
Product Hunt 每日热榜 | 2026-06-13
数据库·mysql
sulikey1 天前
数据库中等值连接与自然连接的区别。为什么不建议使用自然连接?
数据库·sql·mysql·等值连接·自然连接