作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有这个:
def array = [1,2,3,4,5,6]
array.split(2)
[[1,2],[3,4],[5,6]]
最佳答案
我同意 Chris 的观点,即 groovy 中没有任何内容来处理这个问题(至少对于 2 个以上的分区),但我将您的问题解释为提出与他不同的问题。这是一个执行我认为您要求的实现:
def partition(array, size) {
def partitions = []
int partitionCount = array.size() / size
partitionCount.times { partitionNumber ->
def start = partitionNumber * size
def end = start + size - 1
partitions << array[start..end]
}
if (array.size() % size) partitions << array[partitionCount * size..-1]
return partitions
}
def origList = [1, 2, 3, 4, 5, 6]
assert [[1], [2], [3], [4], [5], [6]] == partition(origList, 1)
assert [[1, 2], [3, 4], [5, 6]] == partition(origList, 2)
assert [[1, 2, 3], [4, 5, 6]] == partition(origList, 3)
assert [[1, 2, 3, 4], [5, 6]] == partition(origList, 4)
assert [[1, 2, 3, 4, 5], [6]] == partition(origList, 5)
assert [[1, 2, 3, 4, 5, 6]] == partition(origList, 6)
关于list - 如何在 Groovy 中将列表拆分为大小相等的列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2924395/
我是一名优秀的程序员,十分优秀!