У меня есть набор объектов, которые я хочу разбить на коллекцию коллекций, где каждая последовательная группа из трех элементов находится в одной коллекции. Например, если у меня есть
def l = [1,4,2,4,5,9]
Я хочу превратить это в:
def r = [[1,4,2], [4,5,9]]
Я делаю это сейчас, повторяя сбор и разбивая его. Но мне тогда нужно передать эти "группы" в параллельную функцию, которая их обрабатывает. Было бы неплохо устранить этот O (n) предварительной обработки и просто сказать что-то вроде
l.slice(3).collectParallel { subC -> process(subC) }
Я нашел метод шагов в классе Range, но похоже, что он действует только на индексы. Любые умные идеи?
Обновление: Я не думаю, что это дубликат ссылочной ссылки, хотя он очень близок. Как было предложено ниже, это больше похоже на итераторную вещь, которую я ищу. Подкатегории затем будут переданы в GPars collectParallel. В идеале мне не нужно было бы выделять целую новую коллекцию.