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)
相关推荐
成为你的宁宁18 分钟前
【Dockerfile 实战:基于 Ubuntu/CentOS 镜像构建 MySQL 8.4自定义镜像】
mysql·ubuntu·centos·dockerfile
ruanyongjing29 分钟前
Navicat for MySQL下载安装教程
数据库·mysql
Y0011123634 分钟前
Day7-MySQL-约束
数据库·sql·mysql
q***75181 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
泯仲1 小时前
从零起步学习MySQL || 第十五章:MySQL 可重复读隔离级别:它是如何工作的?是否完全解决幻读?
android·学习·mysql
代码AC不AC1 小时前
在 Ubuntu 环境下安装 MySQL
mysql·ubuntu·安装配置
草莓熊Lotso1 小时前
MySQL CRUD 核心指南:查询、插入、更新、删除全实战
android·开发语言·数据库·c++·人工智能·mysql
轩情吖1 小时前
MySQL之表的约束
android·数据库·c++·后端·mysql·开发·约束
Yupureki1 小时前
《MySQL数据库基础》4. 数据类型
c语言·开发语言·数据结构·数据库·c++·mysql
码农多耕地呗2 小时前
本地-导表导错数据库,导致数据库数据混乱问题
数据库·mysql