0
我有三個列表:
HeaderList : [A, B, C]
SubHeaderList : [a1, a2, b1, b2, b3, c1]
HeaderSubHeaderMapping : [2, 3, 1]
列出在Groovy
我需要建立一個新的列表,這將是:[A_a1, A_a2, B_b1, B_b2, B_b3, C_c1]
的HeaderSubHeaderMapping給出了SubHeaderList許多副標題如何屬於頭在HeaderList中。
例如:Header A
將有2
副標題a1
和a2
由HeaderSubHeaderMapping
我目前使用此代碼,給了我所需要的輸出指示。
def lHeaderList = ["A", "B", "C"]
def lSubHeaderList = ["a1", "a2", "b1", "b2", "b3", "c1"]
def lHeaderSubHeaderMapping = [2, 3, 1]
def lKeyList = []
def lIndex = 0
for(int i = 0; i < lHeaderList.size(); i++) {
for(int j = 0; j < lHeaderSubHeaderMapping.get(i); j++) {
lKeyList << (lHeaderList.get(i) + "_" + lSubHeaderList.get(lIndex))
lIndex++
}
}
println lKeyList
但我想知道是否有任何更方便的方法來實現這一目標?
這是一個不錯的解決方案。 如果我們使用$ {h} _ $ {lSubHeaderList.remove(0)}而不是'$ {h} _ $ {lSubHeaderList [i ++]},我們可以去掉變量'i'。 – rvd