将一组数据固定分组,每组n个元素

 

 1 /**
 2      * 将一组数据固定分组,每组n个元素
 3      * @param source 要分组的数据源
 4      * @param n      每组n个元素
 5      * @param <T>
 6      * @return
 7      */
 8     public <T> List<List<T>> fixedGrouping(List<T> source, int n) {
 9 
10         if (null == source || source.size() == 0 || n <= 0)
11             return null;
12         List<List<T>> result = new ArrayList<List<T>>();
13 
14         int sourceSize = source.size();
15         int size = (source.size() / n) + 1;
16         for (int i = 0; i < size; i++) {
17             List<T> subset = new ArrayList<T>();
18             for (int j = i * n; j < (i + 1) * n; j++) {
19                 if (j < sourceSize) {
20                     subset.add(source.get(j));
21                 }
22             }
23             if(subset.size()>0){
24                 result.add(subset);
25             }
26         }
27         return result;
28     }

 

posted @ 2019-12-04 10:53  java小白百百  阅读(822)  评论(2)    收藏  举报