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)
相关推荐
轻刀快马19 小时前
别被 ORM 框架宠坏了:从一场“订单消失”悬案,看懂 MySQL 为什么要强推 InnoDB
数据库·mysql
过期动态1 天前
MySQL中的约束
android·java·数据库·spring boot·mysql
曾凡宇先生1 天前
mysql局域网授权
数据库·mysql
努力努力再努力wz1 天前
【MySQL 进阶系列】拒绝滥用root:从 mysql.user 到权限校验,带你彻底理解用户管理与授权机制!
android·c语言·开发语言·数据结构·数据库·c++·mysql
Hical_W1 天前
用 Hical + MySQL 5 分钟搭建 CRUD API(C++20 协程版)
数据库·mysql·c++20
想唱rap1 天前
传输层协议之UDP
java·linux·网络·c++·网络协议·mysql·udp
猪脚踏浪1 天前
mysql 用户授权
mysql
努力努力再努力wz1 天前
【MySQL 进阶系列】C/C++ 如何通过客户端库访问 MySQL?从连接原理到 API 调用流程详解(附完整demo代码)
服务器·c语言·数据结构·数据库·c++·b树·mysql
重生之小比特1 天前
【MySQL 数据库】表的操作
数据库·mysql
dLYG DUMS2 天前
DBeaver连接本地MySQL、创建数据库表的基础操作
数据库·mysql