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)
相关推荐
看我干嘛!4 小时前
mysql主从配置一主一从
数据库·mysql
一只大袋鼠4 小时前
Java JDBC 封装:从原生写法到工具类封装 + 增删改查
java·开发语言·数据库·mysql
椰猫子4 小时前
数据库(数据库相关概念、MySQL数据库、SQL(DDL、DML、DQL))
数据库·sql·mysql
j_xxx404_4 小时前
数据库基础夯实:从零手写DDL与DML,MySQL核心语法实战解析
数据库·mysql
lkx097885 小时前
MySQL
数据库·mysql
喵了几个咪5 小时前
MySQL 运维实战:ibd 文件批量转换为 SQL 完整指南(基于 ibd2sql)
运维·sql·mysql
跃渊Yuey5 小时前
【MySQL】MySQL库的操作
数据库·mysql
yuanzhengme5 小时前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
不会写DN7 小时前
如何排查 MySQL 慢查询
数据库·mysql·adb
牧瀬クリスだ7 小时前
关于MySql安装与可视化工具推荐
数据库·mysql