首页 > 其他分享 >jdk 8等份分割list

jdk 8等份分割list

时间:2022-12-15 17:34:51浏览次数:31  
标签:等份 jdk skip list maxSize add limit 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());
        }
    }

运行结果如下:

 

标签:等份,jdk,skip,list,maxSize,add,limit,List
From: https://www.cnblogs.com/chunyansong/p/16985577.html

相关文章

  • Glist 刷新数据
    privatechangeData(backData){ this.data_arr=backData["data"]["list"]; if(this.data_arr){ this.list_scroller.refreshVirtualList(); this.list_scroller......
  • 浅谈CMakeLists.txt 增加软件版本信息(很方便)
    1.从一个CMakeLists.txt下手,如下:include_directories(${CMAKE_CURRENT_BINARY_DIR})应该放在最后,但是在引用lib前。#@warninghere:addthevariablesweneedand......
  • [Java SE/JDK]Intellij IDEA中设置JDK版本
    1IntellijIDEA修改JDK版本第1步:配置JDK环境变量装好JDK之后,要添加一个环境变量:JAVA_HOME第2步:修改Idea配置由Maven决定的版本<build><plugins><p......
  • windows 10 安装 JDK1.8的问题记载
    1、oracle官网下载java版本  java.oracle.com (注:分为32位和64位);2、目前仅提供.exe的安装文件,点击就进入安装页面;3、在安装之前先确认一下本地有没有jdk的安装,如果有......
  • 一看就懂的MySQL的FreeList机制
    Hi,大家好!我是白日梦!今天我要跟你分享的MySQL话题是:“了解InnoDB的FreeList吗?谈谈看!”本文是MySQL专题的第7篇,共110篇。一、回顾前面几篇文章白日梦和你分享了,我们从磁盘中......
  • QtableWidget、QlistWidget、QTreeWidget 单行选中,单击选中,再单击取消选中
    1.问题描述,QtableWidget、QlistWidget、QTreeWidget设置单选行模式时,就会一直选中一行,无法取消选中行,恢复全不选的状态;点击空白处,也不会取消选中行;多行选择模式,可以取消选......
  • JDK8废弃永久代
    目录​一、背景​​​1.1永久代(PermGen)在哪里?​​​​1.2JDK8永久代的废弃​​​ 二、为什么废弃永久代(PermGen)​​​ 2.1官方说明​​​Motivation​​​ 2.2现实使......
  • 如何在/etc/apt/sources.list添加新内容
    这个提示是因为你非正常中断了一个apt-get的更新进程,所以造成更新过程中锁住的文件没有解锁。解决这个问题,方法如下:sudorm/var/lib/apt/lists/lock1.crtl+alt+t打开终......
  • <四>vector、deque、list对比
    vector和deque之间的区别?vector:底层动态数组,内存连续,二倍方式扩容vectorvec;默认是没有开辟空间的,0->1->2->4->8->16可以用reserve(20)只开辟空间,没有放置元素de......
  • WPF实现ListBox滚动条自动定位至最底部
    摘要在有些场景下为了提升用户体验可能需要自动定位数据至最新的地方,比如实时运行日志、表格最新添加的数据记录等等,这种其实都可以使用WPF中的Behavior(行为)来进行实现,当......