java对时间序列每x秒进行分组

问题:将一个时间序列每5秒分一组,返回嵌套的list;

原理:int除int会得到一个int(也就是损失精度)

输入:排序后的list,每几秒分组值

bash 复制代码
    private static List<List<Long>> getSerialSlice(List<Long> serialList, long values) {
        return new ArrayList<>(serialList.stream().collect(
                Collectors.groupingBy(timestamp -> timestamp/ values)).values());
    }

测试:

bash 复制代码
    public static void main(String[] args) {
        List<Long> list = new ArrayList<>();
        list.add(1800000L);
        list.add(1801000L);
        list.add(1802000L);
        list.add(1803000L);
        list.add(1804000L);
        list.add(1805000L);
        list.add(1807000L);
        list.add(1808000L);
        list.add(1810000L);
        list.add(1813000L);
        list.add(1816000L);
        list.add(1817000L);
        List<List<Long>> slice = getSerialSlice(list, 5000);
        for (List<Long> longs : slice) {
            System.out.println("longs = " + longs);
        }
    }

结果:

ps:有人就想要12345为一组,而不要01234为一组,也可以:

bash 复制代码
    private static List<List<Long>> getSerialSlice(List<Long> serialList, long values) {
        return new ArrayList<>(serialList.stream().collect(
                Collectors.groupingBy(timestamp -> (timestamp-1000)/ values)).values());
    }
相关推荐
Demon--hx几秒前
[c++]string的三种遍历方式
开发语言·c++·算法
SteveCode11 分钟前
血赚不亏!Java 17 9 个炸裂特性,程序员看完直呼:太香了!
java
无敌最俊朗@14 分钟前
力扣hot100 - 合并两个有序链表21
算法·leetcode·链表
墨染点香23 分钟前
LeetCode 刷题【168. Excel 表列名称】
算法·leetcode·职场和发展
BLOB_10100126 分钟前
关于懒人复制idea项目的坑
java·ide·intellij-idea
hans汉斯28 分钟前
基于改进YOLOv11n的无人机红外目标检测算法
大数据·数据库·人工智能·算法·yolo·目标检测·无人机
Moe48829 分钟前
Spring Boot 自动配置核心:AutoConfigurationImportSelector 深度解析
java·后端·设计模式
Swift社区1 小时前
LeetCode 431 - 将 N 叉树编码成二叉树
算法·leetcode·职场和发展
6***x5451 小时前
Java设计模式之策略模式
java·设计模式·策略模式
章鱼哥7301 小时前
Java 策略模式 + 聚合对象:实现多模块的统计与聚合,快速扩展的实战
java·开发语言·策略模式