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)
相关推荐
惊讶的猫2 小时前
mysql多表查询
数据库·mysql
学习不止,掉发不停2 小时前
MySQL基础-DQL(四)
数据库·mysql
@ chen3 小时前
MySQL 中的锁机制
数据库·mysql
散修-小胖子3 小时前
ProxySQL编译报错
mysql·proxysql
大黄说说3 小时前
打通异构数据库:PostgreSQL 通过 mysql_fdw 实现 MySQL 透明查询实战
数据库·mysql·postgresql
muyan94 小时前
统信uos-server-20-1070e-arm64-20250704-1310 安装mysql-5.7.44
linux·mysql·yum·rpm·uos·统信
angushine4 小时前
TDSQL创建分区表
运维·mysql
betazhou6 小时前
MySQL相关性能查询语句
android·数据库·mysql
咩咩不吃草6 小时前
Linux环境下MySQL的安装与使用与Navicat
linux·运维·数据库·mysql·navicat
三个人工作室6 小时前
mysql允许所有ip地址访问,mysql允许该用户访问自己的数据库【伸手党福利】
数据库·tcp/ip·mysql