java中將一個(gè)List等分成n個(gè)list的工具方法(推薦)
實(shí)例如下:
/**
* 將一個(gè)list均分成n個(gè)list,主要通過(guò)偏移量來(lái)實(shí)現(xiàn)的
* @param source
* @return
*/
public static <T> List<List<T>> averageAssign(List<T> source,int n){
List<List<T>> result=new ArrayList<List<T>>();
int remaider=source.size()%n; //(先計(jì)算出余數(shù))
int number=source.size()/n; //然后是商
int offset=0;//偏移量
for(int i=0;i<n;i++){
List<T> value=null;
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;
}
測(cè)試?yán)尤缦拢?/strong>
@SuppressWarnings("unused")
public static void main(String[] args) {
List<Integer> integers=new ArrayList<>();
integers.add(1);
integers.add(2);
integers.add(3);
integers.add(4);
integers.add(5);
List<List<Integer>> lists=averageAssign(integers, 2);
System.out.println(lists);
}
結(jié)果如下:
[[1, 2, 3], [4, 5]]
以上這篇java中將一個(gè)List等分成n個(gè)list的工具方法(推薦)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于SpringBoot實(shí)現(xiàn)輕量級(jí)的動(dòng)態(tài)定時(shí)任務(wù)調(diào)度的方法
本文介紹了如何在SpringBoot框架中實(shí)現(xiàn)輕量級(jí)的動(dòng)態(tài)定時(shí)任務(wù)調(diào)度,通過(guò)將任務(wù)以類(lèi)為基礎(chǔ)單位,并通過(guò)配置數(shù)據(jù)進(jìn)行任務(wù)讀取和反射生成任務(wù)對(duì)象,感興趣的朋友跟隨小編一起看看吧2024-11-11
關(guān)于MyBatis模糊查詢的幾種實(shí)現(xiàn)方式
在實(shí)際項(xiàng)目中,我們會(huì)經(jīng)常對(duì)數(shù)據(jù)做一些模糊查詢的操作,這時(shí)候就需要利用到 like字段,那么在Mybatis中,有哪些方式可以實(shí)現(xiàn)模糊查詢呢,需要的朋友可以參考下2023-05-05
記錄jdk21連接SQLServer因?yàn)門(mén)LS協(xié)議報(bào)錯(cuò)問(wèn)題
在使用Druid連接池連接SQL Server時(shí),可能會(huì)遇到因TLS版本不匹配導(dǎo)致的連接失敗問(wèn)題,具體表現(xiàn)為客戶端使用TLS1.3或TLS1.2,而SQL Server僅支持TLS1.0,導(dǎo)致無(wú)法建立安全連接,解決方法是修改JDK的安全配置,啟用TLS1.02024-10-10
Spring?Boot?使用?Disruptor?做內(nèi)部高性能消息隊(duì)列
這篇文章主要介紹了Spring?Boot?使用?Disruptor?做內(nèi)部高性能消息隊(duì)列,工作中遇到項(xiàng)目使用Disruptor做消息隊(duì)列,對(duì)你沒(méi)看錯(cuò),不是Kafka,也不是rabbitmq。Disruptor有個(gè)最大的優(yōu)點(diǎn)就是快,還有一點(diǎn)它是開(kāi)源的哦,下面做個(gè)簡(jiǎn)單的記錄2022-06-06
Java對(duì)線程池做監(jiān)控的實(shí)現(xiàn)方法
本文主要介紹了Java對(duì)線程池做監(jiān)控的實(shí)現(xiàn)方法,監(jiān)控線程池可以幫助我們了解線程池的狀態(tài),如當(dāng)前活躍線程數(shù)、任務(wù)隊(duì)列長(zhǎng)度、已完成任務(wù)數(shù)等,下面就一起來(lái)了解一下2024-07-07
java 字符串轉(zhuǎn)化為字符數(shù)組的3種實(shí)現(xiàn)案例
這篇文章主要介紹了java 字符串轉(zhuǎn)化為字符數(shù)組的3種實(shí)現(xiàn)案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-10-10
Java?SSM實(shí)現(xiàn)前后端協(xié)議聯(lián)調(diào)詳解下篇
首先我們已經(jīng)知道,在現(xiàn)在流行的“前后端完全分離”架構(gòu)中,前后端聯(lián)調(diào)是一個(gè)不可能避免的問(wèn)題,這篇文章主要介紹了Java?SSM實(shí)現(xiàn)前后端協(xié)議聯(lián)調(diào)過(guò)程2022-08-08

