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)
相关推荐
liqianpin126 分钟前
MySQL官网驱动下载(jar包驱动和ODBC驱动)【详细教程】
数据库·mysql
想唱rap38 分钟前
Linux线程
java·linux·运维·服务器·开发语言·mysql
yige452 小时前
【MySQL】MySQL内置函数--日期函数字符串函数数学函数其他相关函数
android·mysql·adb
星辰_mya3 小时前
InnoDB的“身体结构”:页、Buffer Pool与Redo Log的底层奥秘
数据库·mysql·spring·面试·系统架构
Rysxt_4 小时前
MySQL 触发器详解与 Navicat 实战操作指南
mysql·触发器·navicat
XXOOXRT4 小时前
Ubuntu搭建Java项目运行环境(JDK17+MySQL8.0)超详细教程
java·linux·mysql·ubuntu
tianyuanwo4 小时前
MySQL 深度解析:从核心概念到实战指南,及数据库选型决策
数据库·mysql·centos
祭曦念5 小时前
MySQL基础运维:mysqldump全量备份与恢复实操 | 新手可直接落地的备份指南
运维·数据库·mysql
wenlonglanying6 小时前
MYSQL的第一次作业
数据库·mysql
欧洵.6 小时前
MySQL:事务详细
数据库·mysql·oracle