Java工具类_List列表或Array数组按指定大小分组
来源:互联网 发布:淘宝锐力运动户外 编辑:程序博客网 时间:2024/06/12 05:28
主要用于:批量取一部分数据循环处理
import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * 列表或数组按指定大小分组,用于批量取一部分数据循环处理 * */public class ArraySplitUtil<T> { /** * 按指定大小对列表分组 * @param list * @param splitSize * @return */ public List<List<T>> splistList(List<T> list, int splitSize) { if (null == list) { return null; } int listSize = list.size(); List<List<T>> newList = new ArrayList<List<T>>(); if (listSize < splitSize) { newList.add(list); return newList; } int addLength = splitSize; int times = listSize / splitSize; if (listSize % splitSize != 0) { times += 1; } int start = 0; int end = 0; int last = times - 1; for (int i = 0; i < times; i++) { start = i * splitSize; if (i < last) { end = start + addLength; } else { end = listSize; } newList.add(list.subList(start, end)); } return newList; } /** * 按指定大小对数组分组 * @param array * @param splitSize * @return */ public List<T[]> splistArray(T[] array, int splitSize) { if (null == array) { return null; } int listSize = array.length; List<T[]> newList = new ArrayList<T[]>(); if (listSize < splitSize) { newList.add(array); return newList; } int addLength = splitSize; int times = listSize / splitSize; if (listSize % splitSize != 0) { times += 1; } int start = 0; int end = 0; int last = times - 1; for (int i = 0; i < times; i++) { start = i * splitSize; if (i < last) { end = start + addLength; } else { end = listSize; } newList.add(Arrays.copyOfRange(array, start, end)); } return newList; }}
阅读全文
0 0
- Java工具类_List列表或Array数组按指定大小分组
- 数组Array工具类
- QML类与对象列表或分组
- Java解析Json字符串--数组或列表
- Java容器_List接口_ArrayList类
- Java数组Array与列表List之间的转换
- 数组Array及其工具类的使用
- 【Array、List】Java数组或集合中如何删除元素
- java array数组是不是类
- Java中的数组类Array
- python基础教程_list列表应用
- 数组或列表切分
- 关于mongodb的 数组分组 array group
- 561. Array Partition I (数组分组)
- Java 随机数工具类(可指定字母或数字生成)
- Python 列表 list 数组 array
- Python 列表list 数组array
- Java类集 _List接口
- guava 学习笔记(二) 瓜娃(guava)的API快速熟悉使用
- 《HTML5秘籍》阅读之html5标签初体验
- react-router的改变
- 深度学习的硬件架构解析
- linux下配置快速配置tomcat
- Java工具类_List列表或Array数组按指定大小分组
- 实现一个栈,要求实现Push(出栈)、Pop(入栈)、Min(返回最小值的操作)的时间复杂度为O(1)
- python笔记:运行脚本出现Unident dose not match any outer indentation level错误
- 第一章 程序设计入门
- Android控件之ProgressBar(进度条),ToggleButton/SwitchBar(开关按钮),SeekBar(拖动条)/RatingBar(等级评分)
- Spring Boot实战学习笔记4
- 几个串口协议的整理
- 关于STM32影子寄存器和预装载寄存器和TIM_ARRPreloadConfig
- Valgrind使用简介