将List切割为多个指定长度的多个List

参考:

  • https://blog.csdn.net/baidu_41480640/article/details/122507018
  • https://blog.csdn.net/H1767410/article/details/138333350
  • https://blog.51cto.com/u_16213352/7632003
  • https://blog.csdn.net/2301_82243396/article/details/137900249

手写1

private List<List<String>> splitList(List<String> list, int listSize){if (null === list || 0 === listSize) {return new ArrayList();}int length = list.size();int num = ( length + listSize- 1 )/listSize; List<List<String>> newList = new ArrayList<>(num);for (int i = 0; i < num; i++) {int fromIndex = i * listSize;int toIndex = (i+1) * listSize< length ? ( i+1 ) * listSize: length ;newList.add(list.subList(fromIndex, toIndex)) ;}return  newList ;}

手写2

    public static <T> List<List<T>> splitList(List<T> list, int splitSize) {List<List<T>> subLists = new ArrayList<>();for (int i = 0; i < list.size(); i += splitSize) {int end = Math.min(i + splitSize, list.size());subLists.add(list.subList(i, end));}return subLists;}

手写3

    public static <T> List<List<T>> splitList(List<T> list, int splitSize) {return IntStream.range(0, (list.size() + splitSize - 1) / splitSize).mapToObj(i -> list.subList(i * splitSize, Math.min((i + 1) * splitSize, list.size()))).collect(Collectors.toList());}

Guava

    <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>12.0.1</version></dependency>
Lists.partition(list, listSize)

apache的collections4

    <dependency><groupId>org.apache.commons</groupId><artifactId>commons-collections4</artifactId><version>4.4</version></dependency>
ListUtils.partition(OLD_LIST, 3);

hutool

    <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.7.14</version></dependency>
ListUtil.partition(OLD_LIST, 3);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/865891.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3D问界—MAYA中冻结变化的作用以及应用的场景

问题提出&#xff1a;MAYA中冻结变化的作用以及应用的场景 在Maya中&#xff0c;“冻结变换”&#xff08;Freeze Transformations&#xff09;的作用是重置对象的变换属性&#xff0c;包括平移、旋转和缩放&#xff0c;将它们归零或者设定为特定的值。这通常在以下几个步骤中需…

unity强力配置插件Luban【Next最新版本】(二)本地化

文章目录 前言一、快速实现静态本地化1、表格格式2、本地化文本3、修改bat文件3、打表 二、多语言切换1、修改bat文件2、增加本地化管理脚本3、测试 总结 前言 无需多言&#xff0c;本地化&#xff08;Localization&#xff0c;简称 L10N&#xff09;是指将产品、内容或服务适…

软考的报名详细流程

2024年软考的考试时间已经公布&#xff0c;分别为5月25日至28日和11月9日至12日。准备参加2024年软考的朋友们&#xff0c;一定要提前关注官方发布的考试安排。 本文将详细介绍软考报考的整个流程。准备报考的朋友们&#xff0c;阅读本文就足够啦&#xff01;软考的报考流程大致…

【CT】LeetCode手撕—1143. 最长公共子序列

目录 题目1- 思路2- 实现⭐1143. 最长公共子序列——题解思路 3- ACM 实现 题目 原题连接&#xff1a;1143. 最长公共子序列 1- 思路 模式识别&#xff1a;最长公共子序列——> 动规五部曲 2- 实现 ⭐1143. 最长公共子序列——题解思路 class Solution {public int longe…

2024上半年网络工程师考试《应用技术》试题一

阅读以下说明&#xff0c;回答问题。 【说明】 MPLS基于(1)进行转发&#xff0c;进行MPLS标签交换和报文转发的网络设备称为(2)&#xff0c;构成MPLS域(MPSDomain)。位于MPLS域边缘、连接其他网络的LSR称为(3),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时&#xf…

LLM4Decompile——专门用于反编译的大规模语言模型

概述 论文地址&#xff1a;https://arxiv.org/abs/2403.05286 反编译是一种将已编译的机器语言或字节码转换回原始高级编程语言的技术。该技术用于分析软件的内部工作原理&#xff0c;尤其是在没有源代码的情况下&#xff1b;Ghidra 和 IDA Pro 等专用工具已经开发出来&#…

等保2.0 实施方案

一、引言 随着信息技术的广泛应用&#xff0c;网络安全问题日益突出&#xff0c;为确保信息系统安全、稳定、可靠运行&#xff0c;保障国家安全、公共利益和个人信息安全&#xff0c;根据《网络安全法》及《信息安全技术 网络安全等级保护基本要求》&#xff08;等保2.0&#x…

实验七 SQL数据更新和视图

题目 &#xff08;1&#xff09;向商品类别表category中插入一条记录&#xff08;801&#xff0c;‘座椅套’&#xff0c;‘各种品牌的汽车座套’&#xff09; &#xff08;2&#xff09;向商品表product中插入一条记录&#xff1a;商品编号80101&#xff0c;商品名称“四季通…

【HDC.2024】探索无限可能:华为云区块链+X,创新融合新篇章

6月23日&#xff0c;华为开发者大会2024&#xff08;HDC 2024&#xff09;期间&#xff0c; “「区块链X」多元行业场景下的创新应用”分论坛在东莞松山湖举行&#xff0c;区块链技术再次成为焦点。本次论坛以"区块链X"为主题&#xff0c;集结了行业专家、技术领袖、…

【Linux】虚拟机安装 openEuler 24.03 X86_64

目录 一、概述 1.1 openEuler 覆盖全场景的创新平台 1.2 系统框架 1.3 平台框架 二、安装详细步骤 一、概述 1.1 openEuler 覆盖全场景的创新平台 openEuler 已支持 x86、Arm、SW64、RISC-V、LoongArch 多处理器架构&#xff0c;逐步扩展 PowerPC 等更多芯片架构支持&…

超声波气象站的工作原理

TH-CQX5超声波气象站中的超声波技术是其核心工作原理之一&#xff0c;以下是关于超声波气象站中超声波的详细解释&#xff1a;超声波是一种频率高于人耳能听到的声音频率范围的声波&#xff0c;通常指频率在20kHz以上的声波。超声波具有较短的波长和强的穿透能力&#xff0c;能…

手把手家教你进行ChatGPT私有化部署

背景 随着AI技术的不断成熟&#xff0c;加上ChatGPT如火如荼的发布新版本迭代更新&#xff0c;人工智能的热度也升温到史无前例的高度。 我们有理由相信&#xff0c;现在身边还不愿主动去接触这项技术&#xff0c;深入了解的小伙伴&#xff0c;在不久的将来&#xff0c;一定会…

二手物品交易小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;管理员管理&#xff0c;商品信息管理&#xff0c;论坛管理&#xff0c;收货地址管理&#xff0c;基础数据管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;商品信息&…

晨持绪科技:抖音店铺运营思路

在抖音这个充满活力与创意的平台上&#xff0c;店铺运营不仅仅是一种商业行为&#xff0c;它更是一种艺术的展示。如同画家在画布上勾勒出色彩斑斓的画面&#xff0c;抖音店铺的运营者们也在平台上精心策划着每一个细节&#xff0c;以吸引更多的目光和流量。 内容创作。内容是吸…

工程师 - 什么是SMP

什么是 SMP&#xff08;对称多处理&#xff09;&#xff1f; What is SMP (symmetric multiprocessing)? 对称多处理&#xff08;SMP&#xff0c;symmetric multiprocessing&#xff09;是由多个处理器完成的计算机处理过程&#xff0c;这些处理器共享一个操作系统&#xff0…

新加坡博士申请|中国社科院-新加坡社科大学联合培养工商管理博士

新加坡博士申请|中国社科院-新加坡社科大学联合培养工商管理博士 【项目名称】中国社会科学院大学与新加坡新跃社科大学工商管理博士项目 【学制】最短3年&#xff0c;最长不超过7年 【学位证书】新加坡新跃社科大学工商管理博士学位 【招生对象】企业高管、咨询顾问及其他有…

我在高职教STM32——时钟系统与延时控制(2)

大家好&#xff0c;我是老耿&#xff0c;高职青椒一枚&#xff0c;一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次&#xff0c;同行应该都懂的&#xff0c;老师在课堂上教学几乎是没什么成就感的。正因如此&#xff0c;才有了借助 CSDN 平台寻求认同感和成就…

WPS中制作甘特图的详细教程

网上没几个详细说怎么在WPS中制作甘特图的&#xff0c;我自己整理了一下详细教程&#xff0c;最终效果如下图所示&#xff1a; 1.写好需要展示的项目相关信息&#xff0c;如下图所示&#xff1a; #####这个进度的百分比渐变效果这样设置就行了 2.现在我们需要计算已用时间和剩…

docker安装ElasticSearchKibana

本文参考以下两篇文章 ✅ElasticSearch&Kibana 部署 云效 Thoughts 企业级知识库 (aliyun.com) docker安装ElasticSearch&Kibana - 飞书 安装elasticsearch 使用docker下载es&#xff1a; docker pull elasticsearch:8.13.0 挂载配置 创建挂在文件目录 mkdir…

AI大模型:解锁未来职业竞争力的金钥匙

AI元年&#xff1a;大模型的革新力量 随着ChatGPT的震撼登场&#xff0c;2023年被标记为AI元年&#xff0c;大模型以其前所未有的影响力&#xff0c;重塑我们的日常生活和工作方式。从日常的问答对话到复杂的编程辅助&#xff0c;乃至创意图像生成&#xff0c;AI大模型展现出超…