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++方向的小白7 小时前
MySQL数据库——数据类型
android·数据库·mysql
噢,我明白了10 小时前
MySQL常用指令--标准的电商/后台管理系统基础结构
数据库·mysql
阿Y加油吧12 小时前
RAG 必学:ANN 检索、HNSW 算法与 Milvus 核心概念详解
数据库·mysql·json
anew___13 小时前
从教科书到实战:深入剖析MySQL数据库恢复机制
数据库·mysql
Filwaod14 小时前
互联网大厂Java面试实战:Spring+Redis+MySQL+JVM场景问答深度解析
jvm·spring boot·redis·mysql·java面试·技术面试·互联网大厂
重生之小比特15 小时前
【MySQL 数据库】基本查询
android·数据库·mysql
罗超驿15 小时前
4.MySQL数据表操作与CRUD详解:从建表、插入到查询的全流程
数据库·mysql
Filwaod15 小时前
Java面试现场:从Redis缓存到分布式事务,水货程序员李四的‘表演‘
java·jvm·spring boot·redis·mysql·面试·多线程
Filwaod15 小时前
互联网大厂Java面试实战:从Spring Boot到AI智能客服,水货程序员李四的翻车现场
spring boot·redis·mysql·spring cloud·微服务·ai·java面试
phltxy16 小时前
Seata 2.2.0:下载、部署与 Nacos + MySQL 集成教程
数据库·mysql·spring cloud·微服务