将list分成n等份 java java中将一个List等分成n个list的工具方法(推荐)
人气:5想了解java中将一个List等分成n个list的工具方法(推荐)的相关内容吗,在本文为您仔细讲解将list分成n等份 java的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:将list分成n等份,java,下面大家一起来学习吧。
实例如下:
/** * 将一个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]]
以上这篇java中将一个List等分成n个list的工具方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
加载全部内容