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)
相关推荐
polaris063013 分钟前
学生成绩管理系统(MySQL)
android·数据库·mysql
ErizJ2 小时前
面试|Mysql八股
mysql·面试
重庆小透明3 小时前
【搞定面试之mysql】第二篇:事务和MVCC
java·后端·mysql·面试·职场和发展
用户851160276123 小时前
慢 SQL 如何排查和优化?
mysql·面试
panzer_maus3 小时前
Mysql中的undo log和redo log, bin log的介绍
数据库·mysql
ssdfang3 小时前
【MySQL 的数据目录】
数据库·mysql·adb
gjc5923 小时前
【MySQL安全】密码插件指南:从配置到踩坑
数据库·mysql·安全
秦渝兴4 小时前
用 Docker Compose 一键部署高可用集群(MySQL + Tomcat + Nginx)
运维·mysql·nginx·docker·容器·tomcat
slyybw4 小时前
MySQL SQL语句
sql·mysql·oracle
jgbazsh4 小时前
【MySQL】mysqldump使用方法
数据库·mysql·oracle