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)
相关推荐
Bdygsl42 分钟前
MySQL(2)—— CRUD
数据库·mysql
原来是猿1 小时前
MySQL【事务中 - 事务的隔离级别】
数据库·mysql
ba_pi2 小时前
每天写点什么2026-03-19-Doris三种存储模型
java·数据库·mysql
轩情吖2 小时前
MySQL之事务管理
android·后端·mysql·adb·事务·隔离性·原子性
万粉变现经纪人2 小时前
如何解决 pip install cx_Oracle 报错 未找到 Oracle Instant Client 问题
数据库·python·mysql·oracle·pycharm·bug·pip
只能是遇见5 小时前
ERROR 1524 (HY000) Plugin ‘mysql_native_password‘ is not loaded
android·数据库·mysql
1688red6 小时前
基于Canal实现MySQL到Elasticsearch的数据同步
数据库·mysql·elasticsearch
我真会写代码6 小时前
从底层到实战:MySQL核心原理拆解,解锁数据库高性能密码
数据库·mysql
LF3_6 小时前
监听数据库binlog日志变化,将变动实时发送到kafka
数据库·分布式·mysql·kafka·binlog·debezium
江不清丶6 小时前
事务隔离级别深度解析:从理论到MySQL实现
数据库·mysql