=====================================================================
按照指定的数进行集合分组
/**
* 一个集合按照每几个进行分组
* @param args
*/
public static void main(String[] args) {
List<String> list = new ArrayList<>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
if (CollectionUtils.isNotEmpty(list)) {
//每条4条为一组
List<List<String>> groupList = groupListByQuantity(list, 2);
for (List<String> temp : groupList) {
System.out.println(temp.toString());
}
}
}
/**
* 分组的方法
* @param list 源集合
* @param quantity 按多少分组
* @return
*/
public static List groupListByQuantity (List list,int quantity){
if (list == null || list.size() == 0) {
return list;
}
if (quantity <= 0) {
new IllegalArgumentException("非法无效的参数.");
}
//声明新的集合
List wrapList = new ArrayList();
int count = 0;
while (count < list.size()) {
//按照指定的数来进行分组
wrapList.addAll(list.subList(count, Math.min((count + quantity), list.size())));
count += quantity;
}
return wrapList;
}
执行的结果为:
[1, 2]
[3, 4]
[5]