java对时间序列根据阈值进行连续性分片

问题描述:我需要对一个连续的时间戳list进行分片,分片规则是下一个数据比当前数据要大于某一个阈值则进行分片;

解决方式:

1、输入的有顺序的list ,和需要进行分片的阈值

2、调用方法,填入该排序的list和阈值

java 复制代码
   private static List<List<Long>> getObuInfoGroup(List<Long> infoGroupList, long values) {
        List<List<Long>> res = new ArrayList<>();
        List<Long> subList = new ArrayList<>();
        for (int i = 0; i < infoGroupList.size(); i++) {
            if (i > 0 && (infoGroupList.get(i) - infoGroupList.get(i - 1) > values)) {
                res.add(subList);
                subList = new ArrayList<>();
            }
            subList.add(infoGroupList.get(i));
        }
        res.add(subList);
        return res;
    }

检验:

bash 复制代码
   public static void main(String[] args) {
        List<Long> list = new ArrayList<>();
        list.add(18000000L);
        list.add(18001000L);
        list.add(18002000L);
        list.add(18003000L);
        list.add(18004000L);
        list.add(18006000L);
        list.add(18007000L);
        list.add(18010000L);
        list.add(18011000L);
        list.add(18012000L);
        list.add(18015000L);
        list.add(18016000L);
        list.add(18017000L);
        list.add(18018000L);
        //这块我们的序列如果是无序的,可以 list.sort(xx)一下
        List<List<Long>> listList = getObuInfoGroup(list, 2000);
        for (List<Long> longs : listList) {

            System.out.println("longs = " + longs);
        }
    }

结果:(应该是成功了)

相关推荐
微尘寒风5 小时前
【Git】的安装和使用
java·git
y = xⁿ5 小时前
DeepSeek Harness 学习日记:关于Agent接口,工具调用的底层实现
android·java·学习
侧耳倾听1116 小时前
jwt使用简介
java·jwt
顶点多余6 小时前
那些在算法中适合巩固的知识点---1
java·前端·算法
AI人工智能+电脑小能手6 小时前
大白话说Java设计模式-46-责任链模式(业务实战篇)
java·设计模式·责任链模式·风控校验·servlet filter·spring interceptor·链式处理
jay神7 小时前
【计算机毕业设计】基于SpringBoot的程序教学辅助系统
java·前端·vue.js·spring boot·后端·毕业设计·课程设计
2601_962066497 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
罗西的思考8 小时前
【Agentic RL / 强化学习框架】Molt 设计解读
人工智能·算法·机器学习
yaoxin5211238 小时前
507. Java 反射 - 在 BeanFactory 中实现依赖注入
java·开发语言
OPEN-F8 小时前
C++模板教程:变参模板、折叠表达式与SFINAE
java·开发语言·c++