将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;软考的报考流程大致…

如何系列 如何确保Kafka消息可靠性/防止消息丢失

文章目录 ProducerBrokerConsumer流程 从Kafka架构来看&#xff0c;理论上仍有消息丢失的可能性&#xff0c;但实际发生的概率极低&#xff0c;只有在所有副本的机器都宕机时才会丢失。 当所有代理&#xff08;broker&#xff09;都确认消息时&#xff0c;这并不意味着消息已经…

【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 等更多芯片架构支持&…

安装docker版rabbitmq 3.12

本文介绍在Ubuntu22中安装docker版rabbitmq 3.12。 一、拉取镜像 docker pull rabbitmq:3.12.14-management二、创建数据目录和docker-compose文件 创建目录&#xff1a; cd /root mkdir rabbitmq-docker cd rabbitmq-docker mkdir data chmod 777 data创建docker-compose配…

超声波气象站的工作原理

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

力扣刷题总结 -- 数组29

85. 解码异或之后的数组&#xff08;简单&#xff09; 题目要求&#xff1a; 未知 整数数组arr由 n 个非负整数组成。 经编码后变为长度为 n - 1 的另一个整数数组 encoded &#xff0c;其中 encoded[i] arr[i] XOR arr[i 1] 。例如&#xff0c;arr [1,0,2,1] 经编码后得…

【Yarn锁文件全解析】深入理解yarn.lock与版本控制的艺术

标题&#xff1a;【Yarn锁文件全解析】深入理解yarn.lock与版本控制的艺术 Yarn是一个现代的JavaScript包管理工具&#xff0c;旨在提供更快、更安全、更可靠的依赖管理。yarn.lock文件是Yarn工作流程中的一个关键组件&#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…

每天一个数据分析题(四百零五)- 因子分析

因子分析是一种经典的统计分析方法&#xff0c;关于因子分析下列说法错误的是&#xff08; &#xff09;。 A. 因子分析是一种数据简化的技术 B. 最大似然法是因子载荷矩阵的估计方法之一 C. 因子旋转时采用最大方差旋转是一种正交旋转 D. 因子分析的假设中没有规定特殊因子…