Tôi biết đây là siêu cũ - nhưng đối với những ai muốn chia danh sách thành các phân vùng tương đương (với dư), và bạn bỏ lỡ comment của Tim trên bài đăng gốc, cách thức hấp dẫn gần đây nhất là phương thức collate() cho các đối tượng Danh sách đã có sẵn từ Groovy 1.8.6.
def array = [1, 2, 3, 4, 5, 6, 7]
assert [[1], [2], [3], [4], [5], [6], [7]] == array.collate(1, 1, true)
assert [[1, 2], [3, 4], [5, 6], [7]] == array.collate(2, 2, true)
assert [[1, 2, 3], [4, 5, 6], [7]] == array.collate(3, 3, true)
assert [[1, 2, 3, 4], [5, 6, 7]] == array.collate(4, 4, true)
assert [[1, 2, 3, 4, 5], [6, 7]] == array.collate(5, 5, true)
assert [[1, 2, 3, 4, 5, 6], [7]] == array.collate(6, 6, true)
assert [[1, 2, 3, 4, 5, 6, 7]] == array.collate(7, 7, true)
Như của groovy 1.8.6 bạn có thể sử dụng [collate method] (http://jira.codehaus.org/browse/GROOVY-5283) trên danh sách –