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)
相关推荐
数据库小组22 分钟前
MySQL 删库后怎么恢复?binlog2sql 之外,NineData 还能做什么
数据库·sql·mysql·安全·数据·ninedata·删库
九皇叔叔5 小时前
MySQL 8.0 测试库安装
数据库·mysql
码界筑梦坊6 小时前
356-基于Python的网易新闻数据分析系统
python·mysql·信息可视化·数据分析·django·vue·毕业设计
一只大袋鼠7 小时前
MyBatis 从入门到实战(二):代理 Dao 开发与多表关联查询
java·开发语言·数据库·mysql·mybatis
逻极10 小时前
MySQL 从入门到精通:一个老 DBA 的实战心法
运维·数据库·mysql·从入门到精通·mysql从入门到精通
xuhaoyu_cpp_java10 小时前
事务学习(一)
数据库·经验分享·笔记·学习·mysql
最好的期待,未来可期10 小时前
MySQL语法的高级用法CASE WHEN
数据库·mysql
小陈工12 小时前
python Web开发从入门到精通(二十七)微服务架构设计原则深度解析:告别拆分烦恼,掌握治理精髓(下)
后端·python·mysql
1368木林森13 小时前
聊聊Mysql主从延迟的幽灵陷阱与解决方案
数据库·mysql
雪碧聊技术14 小时前
mysql表级锁的介绍
数据库·mysql