jdk 8等份分割list
public static void main(String[] args) { List<Integer> list = new ArrayList<>(); list.add(1); list.add(2); list.add(3); list.add(4); list.add(5); list.add(6); list.add(7); list.add(8); list.add(9); list.add(10); list.add(11); //每个list存入条数 int maxSize = 5; //计算切分次数 int limit = (list.size() + maxSize - 1) / maxSize; List<List<Integer>> avgList = new ArrayList<>(); //等份切割,一般是skip与limit使用,maxSize = 5,表示5条为一个list,有11条数据,会分割成3个list Stream.iterate(0, n -> n + 1).limit(limit).forEach(i -> { //skip就是舍弃stream前多少个元素,limit就是返回流前面多少个元素(如果流里元素少于该值,则返回全部) //如skip((long)i * maxSize),i=0时,就是舍弃0个元素,i=1时,舍弃前面的5个元素,依次类推 List<Integer> tmpList = list.stream().skip((long)i * maxSize).limit(maxSize).collect(Collectors.toList()); avgList.add(tmpList); }); for (List<Integer> arr : avgList) { System.out.println(arr.toString()); } }
运行结果如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具