亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java 實(shí)現(xiàn)將List平均分成若干個(gè)集合

瀏覽:4日期:2022-08-26 18:46:21

1.初衷是由于調(diào)用銀行接口的批量處理接口時(shí),每次最多只能處理500條數(shù)據(jù),但是當(dāng)數(shù)據(jù)總數(shù)為510條時(shí)。我又不想第一次調(diào)用處理500條,第二次調(diào)用處理10條數(shù)據(jù),我想要的是每次處理255條數(shù)據(jù)。

下面展示的是我的處理方法

2.寫了一個(gè)簡(jiǎn)單的ListUtils:

package com.example.springboottest.common.util; import java.util.ArrayList;import java.util.Collections;import java.util.List; import com.google.common.collect.Lists;/** * List 工具類 * @author Neo * @date 2018年4月16日13:13:37 */public class ListUtils { /** * 將一個(gè)List均分成n個(gè)list,主要通過(guò)偏移量來(lái)實(shí)現(xiàn)的 * * @param source 源集合 * @param limit 最大值 * @return */ public static <T> List<List<T>> averageAssign(List<T> source, int limit) { if (null == source || source.isEmpty()) { return Collections.emptyList(); } List<List<T>> result = new ArrayList<>(); int listCount = (source.size() - 1) / limit + 1; int remaider = source.size() % listCount; // (先計(jì)算出余數(shù)) int number = source.size() / listCount; // 然后是商 int offset = 0;// 偏移量 for (int i = 0; i < listCount; i++) { List<T> value; if (remaider > 0) {value = source.subList(i * number + offset, (i + 1) * number + offset + 1);remaider--;offset++; } else {value = source.subList(i * number + offset, (i + 1) * number + offset); } result.add(value); } return result; } public static void main(String[] args) { List list = new ArrayList(); for (int i = 0; i < 65; i++) { list.add(i); } List<List> result = averageAssign(list, 15); result.forEach(l -> { l.forEach(i -> System.out.print(i + 't') ); System.out.println(); }); System.out.println('===================================================='); result = averageAssign(list, 20); result.forEach(l -> { l.forEach(i -> System.out.print(i + 't') ); System.out.println(); }); System.out.println('===================================================='); // Guava 實(shí)現(xiàn)不平均分組 result = Lists.partition(list ,100);result.forEach(l -> { l.forEach(i -> System.out.print(i + 't') ); System.out.println(); }); }}

3.展示一下測(cè)試結(jié)果:

Java 實(shí)現(xiàn)將List平均分成若干個(gè)集合

補(bǔ)充知識(shí):Java8 Lambda 分割List

我就廢話不多說(shuō)了,大家還是直接看代碼吧~

/** * @author caishen * @version 1.0 * @className CollectionUtils * @date 2019/5/23 11:54 * 自分で??い駿暢`ドの各行を擔(dān)當(dāng)する * @dis 切割list工具類 **/public class CollectionUtils { public static <T> List<List<T>> divide(List<T>origin , int size){ if(Assert.isEmpty(origin)){ return Collections.emptyList(); } int block = (origin.size() + size -1) / size; return IntStream.range(0,block).boxed().map(i->{ int start = i*size; int end = Math.min(start + size,origin.size()); return origin.subList(start,end); }).collect(Collectors.toList()); } public static void main(String[] args) { System.out.println(divide(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), 3)); }}

以上這篇Java 實(shí)現(xiàn)將List平均分成若干個(gè)集合就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 国内真实实拍伦视频在线观看 | 成人精品久久 | 欧美毛片a级毛片免费观 | 一级在线观看视频 | 久久精品国产亚洲网站 | 国产精品高清视亚洲精品 | 精品精品国产高清a毛片 | 黄色片视频| 亚洲综合激情另类专区 | 国产高清视频在线播放www色 | 精品视频免费播放 | 曰批免费动漫视频播放免费 | 日韩成人性视频 | 中文字幕亚洲综合 | 欧美欧美aaaaa一级毛片 | 成人性生交大片免费看4 | 欧美成在线播放 | 另类图片第一页 | 免费黄色在线网址 | 日本69色视频在线观看 | 日韩欧美国产一区二区三区四区 | 国产美女一区二区三区 | 精品日韩一区二区 | 国产4tube在线播放 | 国产黄色影片 | 97麻豆精品国产自产在线观看 | 国产a一级毛片午夜剧院 | 成年男女的免费视频网站 | 黑人双插| 亚洲美女一区 | 国产毛片不卡 | 永久免费不卡在线观看黄网站 | 黄色一级网址 | 亚洲精品aⅴ中文字幕乱码 亚洲精品aaa | a级在线 | 性欧美一级毛片欧美片 | 亚洲精品亚洲人成在线麻豆 | 黄色片视频 | 黄色性生活网站 | 日韩人成免费网站大片 | 国产高清在线精品一区二区 |