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());
    }
相关推荐
蜡笔小马3 小时前
10.Boost.Geometry R-tree 空间索引详解
开发语言·c++·算法·r-tree
kali-Myon3 小时前
2025春秋杯网络安全联赛冬季赛-day1
java·sql·安全·web安全·ai·php·web
我是咸鱼不闲呀3 小时前
力扣Hot100系列20(Java)——[动态规划]总结(下)( 单词拆分,最大递增子序列,乘积最大子数组 ,分割等和子集,最长有效括号)
java·leetcode·动态规划
唐梓航-求职中3 小时前
编程-技术-算法-leetcode-288. 单词的唯一缩写
算法·leetcode·c#
仟濹3 小时前
【算法打卡day3 | 2026-02-08 周日 | 算法: BFS】3_卡码网99_计数孤岛_BFS | 4_卡码网100_最大岛屿的面积DFS
算法·深度优先·宽度优先
清水白石0083 小时前
深入解析 LRU 缓存:从 `@lru_cache` 到手动实现的完整指南
java·python·spring·缓存
Ll13045252983 小时前
Leetcode二叉树part4
算法·leetcode·职场和发展
颜酱3 小时前
二叉树遍历思维实战
javascript·后端·算法
宝贝儿好3 小时前
第二章: 图像处理基本操作
算法
符哥20083 小时前
C++ 进阶知识点整理
java·开发语言·jvm