实例如下:
java" id="highlighter_781928">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
/**
* 将一个list均分成n个list,主要通过偏移量来实现的
* @param source
* @return
*/
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;
}
|
测试例子如下:
1
2
3
4
5
6
7
8
9
10
11
|
@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的工具方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。