Java 8 个 X 组中的分组元素

Java 8 Grouping elements in groups of X

我的问题很简单...我有一个元素列表,我想创建一定数量的子组...可以在 Java 中用 API 完成吗? .. 或者我应该开始玩计数器等...

真的没必要为此找一个 API。

这里有一个简单的方法来做你想做的事:

public static <T> List<List<T>> splitList(int groupSize, List<T> list) {
    List<List<T>> subLists = new ArrayList<>();
    for (int i = 0; i < list.size();) {
        subLists.add(list.subList(i, i = Math.min(i + groupSize, list.size())));
    }
    return subLists;
}

public static void main(String[] args) throws Exception {
    List<Integer> list = List.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13);
    List<List<Integer>> subLists = splitList(3, list);
    System.out.println(subLists);
    // prints [[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13]]
}