public static void main(String[] args) { int MAX_SEND = 500; List<Integer> list = new ArrayList<>(); for (int i = 0; i < 1001; i++) { list.add(i); } int limit = list.size() / MAX_SEND +1; List<List<Integer>> splitList = Stream.iterate(0, n -> n + 1).limit(limit).parallel().map(a -> list.stream().skip(a * MAX_SEND).limit(MAX_SEND).parallel().collect(Collectors.toList())).collect(Collectors.toList()); for (List<Integer> list1 : splitList) { System.out.println("---------------------------------------------"); System.out.println(JSON.toJSONString(list1)); } }