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)
相关推荐
5***a9755 分钟前
MySQL混合现实案例
数据库·mysql·mr
key_Go2 小时前
3-2.SQL语言(续)
数据库·mysql
苏三的开发日记2 小时前
MySQL性能优化处理
mysql
苏三的开发日记2 小时前
MySQL使用explain需要关注的指标及其含义
mysql
百***69442 小时前
Linux下MySQL的简单使用
linux·mysql·adb
iVictor3 小时前
MySQL 8.4:未使用 mysql_native_password 却报插件未加载(Plugin 'mysql_native_password' is not loaded)?
mysql
j***29483 小时前
【MySQL — 数据库基础】深入理解数据库服务与数据库关系、MySQL连接创建、客户端工具及架构解析
数据库·mysql·架构
星光一影3 小时前
基于PHP+MySQL+Uniapp的上门家政服务系统源码
开发语言·mysql·uni-app·php
伯恩bourne6 小时前
【mysql】将数据源从windows 迁移到 ubuntu的过程
windows·mysql·ubuntu
4***14909 小时前
MySQL调试技巧与工具
数据库·mysql