java8 切割集合
private static final Integer MAX_NUMBER = 2;
public static void main(String[] args) {
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7);
ArrayList<ArrayList<Integer>> mglist = new ArrayList<ArrayList<Integer>>();
int LIMIT = countStep(numbers.size());
Stream.iterate(0, n -> n + 1).limit(LIMIT).parallel().forEach(i -> {
mglist.add((ArrayList<Integer>) numbers.stream().skip(i * MAX_NUMBER).limit(MAX_NUMBER).collect(Collectors.toList()));
});
System.out.println(mglist);
}
private final static Integer countStep(Integer size) {
Integer count = size / MAX_NUMBER;
return size % 2 == 0 ? count : count + 1;
}