2
groovy로 목록의 목록을 다른 크기로 바꾸고 싶습니다.groovy 2 차원 배열을 다른 크기로 바꾸기
def mtrx = [
[1,2,3],
[4,5,6,7]
]
예상 된 결과 :
[[1,4],[2,5],[3,6],[null,7]]
또는
[[1,4],[2,5],[3,6],[7]]
방법 .transpose는()하지만 동일하지를 들어, 크기와 동일한가 잘 작동을 위해 노력하고 있습니다 - 일부 요소가 차단된다.
내 코드는 다음과 같습니다
def max = 0
def map = [:]
def mapFinal = [:]
def row = 0
def mtrx = [
[1,2,3],
[4,5,6,7]
]
mtrx.each{it->
println it.size()
if(max < it.size()){
max = it.size()
}
}
def transposed = mtrx.each{it->
println it
it.eachWithIndex{it1, index->
println it1 + ' row ' + row + ' column ' +index
mapFinal[row+''+index] = it1
map[index+''+row] = it1
}
row++
}
println map
println mapFinal
매우 감사하십시오 : 그루비 - 짧은, 그루비와 작업 - 나를 놀라게 중단하지 마십시오. 이제는 어떻게 작동하는지 이해하려고 노력할 것입니다. (1) mtrx * .size()에 의해 최대 값을 얻으십시오. max() (2) 0에서 max까지 반복 (3) 클로저와 스프레드 연산자를 결합하여 컬럼의 모든 요소를 가져옵니다. – Vanko