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)
相关推荐
xiaok2 小时前
GROUP BY进阶用法
mysql
李慕婉学姐2 小时前
【开题答辩过程】以《基于Android的健康助手APP的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
android·java·mysql
qq_12498707533 小时前
基于springboot健康养老APP的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·微信小程序·毕业设计
亚林瓜子3 小时前
mysql命令行手动导入csv数据到指定表
数据库·mysql·gui·csv·cli·db·import
一分半心动4 小时前
lnmp架构 mysql数据库Cannot assign requested address报错解决
linux·mysql·php
ChristXlx4 小时前
Linux安装mysql(虚拟机适用)
linux·mysql
瀚高PG实验室5 小时前
timestampdiff (MYSQL)函数在Highgo DB中的写法
数据库·mysql·瀚高数据库
还是鼠鼠5 小时前
SQL语句执行很慢,如何分析呢?
java·数据库·mysql·面试
云和数据.ChenGuang5 小时前
批量给100台服务器装系统,还要完成后续的配置和软件部署
运维·服务器·开发语言·mysql
程序员卷卷狗6 小时前
为什么MySQL默认使用可重复读RR?深入解析binlog与隔离级别的关系
数据库·mysql