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 天前
数据库批量插入耗时过长问题rewriteBatchedStatements=true
数据库·mysql
sg_knight1 天前
SQL 中的 IFNULL 函数是什么?
数据库·sql·mysql·oracle·database·关系型数据库·db
一码归一码@1 天前
Mysql进阶之事务原理
数据库·mysql
东城绝神1 天前
《Linux运维总结:基于ARM64+X86_64架构使用docker-compose一键离线部署MySQL8.0.43 NDB Cluster容器版集群》
linux·运维·mysql·架构·高可用·ndb cluster
衫水1 天前
[特殊字符] MySQL 常用指令大全
数据库·mysql·oracle
阿杰 AJie2 天前
MySQL 里给表添加索引
数据库·mysql
林鸿群2 天前
ubuntu 26.04 安装mysql-server
linux·mysql·ubuntu
_F_y2 天前
MySQL表的操作
android·数据库·mysql
千寻技术帮2 天前
10336_基于SSM的少数民族文化商城
mysql·毕业设计·ssm·非遗商城
fenglllle2 天前
MySQL explain format的差异
数据库·mysql