软件编程
位置:首页>> 软件编程>> java编程>> java中将一个List等分成n个list的工具方法(推荐)

java中将一个List等分成n个list的工具方法(推荐)

作者:jingxian  发布时间:2022-04-12 09:25:09 

标签:java,list,工具,n等份

实例如下:


/**
* 将一个list均分成n个list,主要通过偏移量来实现的
* @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; //(先计算出余数)
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;
}

测试例子如下:


@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);
}

结果如下:

[[1, 2, 3], [4, 5]]

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com