Java中如何将List拆分为多个小list集合_java把list分成多个list-程序员宅基地

技术标签: java  java技能提升  

写在前面:
我是「境里婆娑」。我还是从前那个少年,没有一丝丝改变,时间只不过是考验,种在心中信念丝毫未减,眼前这个少年,还是最初那张脸,面前再多艰险不退却。
写博客的目的就是分享给大家一起学习交流,如果您对 Java感兴趣,可以关注我,我们一起学习

前言:在平常写代码时候可能会遇到需要将一个大list拆分多个小list,进行一些业务处理。

一、如何将List拆分为多个小list

如何将List拆分多个小list,首先我们需要list.sublist这个方法如何使用。
list.sublist(int fromIndex, int toIndex)方法有两个参数。
fromIndex:为起始索引(包含)
toIndex:为终止索引(不包含)的子列表(List)

但值得注意的是,返回的这个子列表的幕后其实还是原列表;也就是说,修改这个子列表,将导致原列表也发生改变;反之亦然。

具体实现试下:

public static <T> List<List<T>> splistList(List<T> list,int subNum) {
    
        List<List<T>> tNewList = new ArrayList<List<T>>();
        int priIndex = 0;
        int lastPriIndex = 0;
        int insertTimes = list.size()/subNum;
        List<T> subList = new ArrayList<>();
        for (int i = 0;i <= insertTimes;i++) {
    
            priIndex = subNum*i;
            lastPriIndex = priIndex + subNum;
            if (i == insertTimes) {
    
                subList = list.subList(priIndex,list.size());
            } else {
    
                subList = list.subList(priIndex,lastPriIndex);
            }
            if (subList.size() > 0) {
    
                tNewList.add(subList);
            }
        }
        return tNewList;
    }

测试代码如下:

public static void main(String[] args) {
    
        List<String> list = Arrays.asList("1","2","3","4","5","6","7","8","9");
        List<List<String>> lists = splistList(list, 4);
        System.out.println(lists.size());
    }

输出结果:lists size is:3

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/TreeShu321/article/details/112793887

智能推荐

计算机网络A卷浙江农林大学,2018年浙江农林大学842信息技术基础考研大纲-程序员宅基地

文章浏览阅读793次。2018年浙江农林大学842信息技术基础考研大纲1浙江农林大学硕士研究生入学考试信息技术基础(农业工程与信息技术)考试大纲一、 考试性质浙江农林大学硕士研究生入学《信息技术基础》考试是为招收农业信息化专业而设置的具有选拔功能的水平考试。它的主要目的是测试考生对计算机基础知识及信息技术应用的掌握程度及应用相关知识解决问题的能力。二、 考试的基本要求要求考生对计算机技术、多媒体技术和网络技术为核心的信..._信息技术基础842

阿里云大模型数据存储解决方案,为 AI 创新提供推动力_阿里云能够为大模型ai创新提供三方面能力-程序员宅基地

文章浏览阅读1k次,点赞22次,收藏17次。随着国内首批大模型产品获批名单问世,百“模”大战悄然开启。在这场百“模”大战中,每一款大模型产品的诞生,都离不开数据的支撑。如何有效存储、管理和处理海量多模态数据集,并提升模型训练、推理的效率,保障 AI 业务平台运行的稳定,仍是亟待解决的难题。_阿里云能够为大模型ai创新提供三方面能力

静态方法在多线程下的调用_多线程static方法中new stringbuilder-程序员宅基地

文章浏览阅读2.1k次。 class Program { static void Main(string[] args) { Thread t1 = new Thread(new ParameterizedThreadStart(Work)); t1.Start(0); Thread.Sleep(1000); Thread t2 = new Thread(_多线程static方法中new stringbuilder

不属于python标准库的是_python标准库和扩展库-程序员宅基地

文章浏览阅读1k次。Tkinter————Python默认的图形界面接口。Tkinter是一个和Tk接口的模块,Tkinter库提供了对Tk API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的,目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部..._不属于python的标准库

echarts官方世界地图json-程序员宅基地

文章浏览阅读1.4k次。发现现有的公开资源中关于世界地图的json很难找到,要么找到之后并不是通过经纬度定义的边界线,后来偶然发现在echarts的官方文档中存在世界地图的json,现记录一下。_世界地图json

Python 统计一行字符中单词的个数_python上手--基本语法和数据类型基础-程序员宅基地

文章浏览阅读3.6k次。前面介绍了选择python开发工具的方法,根据需求和学习阶段的不同来选择不同的编译器。从本篇开始我们就选用Anaconda中的spyder模块作为开发编译平台,在下载过程中可以直接百度搜索anaconda,就可以进入其官网,找到下载链接,进行下载。Anaconda Python/R Distribution - Free Download​www.anaconda.com这里建议选择python3..._统计一行文本的单词个数python

随便推点

将yolov5的detect.py改写成可以供其他程序调用的方式,并实现低时延(<0.5s)直播推理_yolov5 dataset = loadstreams-程序员宅基地

文章浏览阅读1.5w次,点赞50次,收藏322次。将yolov5的推理代码改成可供其它程序调用的方式,并实现低时延(<0.5s)直播推理yolov5的代码具有高度的模块化,对于初学者十分友好,但是如果咱们要做二次开发,想直接调用其中一些函数,恐怕还是得费一番功夫。参考https://www.pythonheidong.com/blog/article/851830/44a42d351037d307d02d/和https://blog.csdn.net/ld_long/article/details/113920521(不知道为什么失效了)实现_yolov5 dataset = loadstreams

JavaScript之Proxy详解_js中proxy-程序员宅基地

文章浏览阅读445次,点赞8次,收藏10次。是JavaScript中的一个强大而灵活的特性,它允许你创建一个代理对象,可以拦截并改变对象的底层操作。是ES6引入的一个新对象,用于创建一个对象的代理,可以拦截并重定义基本的操作。提供了丰富的拦截操作,使得我们能够对对象的行为进行灵活的定制。可以实现对象属性的懒加载,只在访问时才进行实际的计算或获取。能够实现更清晰和易读的代码,避免了传统的一些hack手段。的特性和应用场景,有助于更好地利用它提供的强大功能。是ES6引入的特性,不支持ES6的环境无法使用。可以实现数据绑定,监听对象属性的变化。_js中proxy

手机上用Exchange 协议配置收发QQ邮箱_公司exchange协议邮件只能用手机qq邮箱登录-程序员宅基地

文章浏览阅读2k次。手机上用Exchange 协议配置收发QQ邮箱_公司exchange协议邮件只能用手机qq邮箱登录

【永久免费】9000w+海外动态IP_英国动态住宅ip有免费分享的吗-程序员宅基地

文章浏览阅读437次,点赞4次,收藏7次。官网:https://my.socks5.io#SCPJLCFHWR。全球200+国家,9000w+动态IP,没任何费用!动态住宅IP/静态住宅IP/机房IP等,永久免费!【全球代理IP免费用】!点击注册,永久免费海外IP._英国动态住宅ip有免费分享的吗

SSL/TSL双向认证过程与Wireshark抓包分析-程序员宅基地

文章浏览阅读1.6k次。2018年07月12日 19:19:41Joohong阅读数 1831版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jingzi123456789/article/details/810207471、 SSL/TSL基本知识(1)SSL/TLS协议运行机制:https://blog.csdn.net/fw0124/arti..._ssl/tsl双向认证过程与wireshark抓包分析

修改yum的更新源vi /etc/yum.repos.d/CentOS-Base.repo-程序员宅基地

文章浏览阅读3.6k次。2019独角兽企业重金招聘Python工程师标准>>> ..._修改/etc/yum.repos.d/centos-base.repo文件,将原有的镜像地址替换为新的、仍然提