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 分钟前
MySQL常用命令大全(2026最新版)
数据库·mysql·oracle
霖霖总总17 分钟前
[小技巧42]InnoDB 索引与 MVCC 的协同工作原理
运维·数据库·mysql
bbq粉刷匠2 小时前
MySQL 聚合函数&分组&联合查询
数据库·mysql
霖霖总总2 小时前
[小技巧43]MySQL MVCC 深度解析:快照读 vs 当前读
数据库·mysql
阿杰 AJie5 小时前
MySQL 聚合函数
android·数据库·mysql
JavaGuide6 小时前
IntelliJ IDEA 2026.1 EAP 发布!拥抱 Java 26,Spring Boot 4 深度支持!
java·后端·mysql·springboot·idea·大厂面试·javaguide
达梦产品与服务6 小时前
SQLark 实战 | 如何快速导入数据至达梦、Oracle、MySQL、PG 数据库
mysql·oracle·达梦数据库·数据导入·pg数据库
liux35286 小时前
MySQL集群架构:MySQL InnoDB Cluster (MIC)详解(十一)
数据库·mysql·架构
小北方城市网6 小时前
MySQL 索引优化实战:从慢查询到高性能
数据库·spring boot·后端·mysql·rabbitmq·mybatis·java-rabbitmq
l1t6 小时前
DeepSeek对AliSQL 集成 DuckDB 的总结
数据库·sql·mysql·duckdb