splitInto method

List<List<E>> splitInto({
  1. int chunkSize = 2,
})

splitInto

Splits a list into a list of lists

Usage:

List<String> words = ["Hello", "World", "Name", "Is", "World"]
words.splitInto(chunkSize: 2)

Result:

[["Hello", "World"], ["Name", "Is", "World"]]

Implementation

List<List<E>> splitInto({int chunkSize = 2}) {
  final List<List<E>> subLists = [];
  final int size = length;
  final int minLengthForEachSubList = size ~/ chunkSize;

  for (int i = 0; i < chunkSize; i++) {
    final int start = i * minLengthForEachSubList;
    int end = (i + 1) * minLengthForEachSubList;
    if (i == chunkSize - 1) {
      end = size;
    }
    subLists.add(sublist(start, end));
  }
  return subLists;
}