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)
相关推荐
FIT2CLOUD飞致云1 小时前
操作教程丨通过1Panel轻松安装和管理MySQL开源数据库
linux·运维·服务器·mysql·开源·1panel
白露与泡影1 小时前
详细描述一条 SQL 语句在 MySQL 中的执行过程。
数据库·sql·mysql
qq_316837751 小时前
mysql mybatisPlus 存储经纬度
数据库·mysql
葡萄城技术团队1 小时前
在 Java 中优化 MySQL 查询以提升性能
java·开发语言·mysql
winfield8212 小时前
Java 中大量闲置 MySQL 连接的解决方案(从根因到落地)
java·mysql
计算机毕设指导62 小时前
基于微信小程序图像识别的智能垃圾分类系统【源码文末联系】
java·spring boot·mysql·微信小程序·小程序·分类·maven
如旧呀2 小时前
爬虫小知识
数据库·爬虫·mysql
7ioik3 小时前
MySQL默认事物隔离级别是什么?
数据库·mysql
ERP面壁者4 小时前
Docker小白搭建xxl-job,mysql的过程日志
mysql·docker·容器
腾讯云开发者4 小时前
腾讯技术面:聊聊MySQL五大核心模块
数据库·mysql