Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
1.2k views
in Technique[技术] by (71.8m points)

creating a list of object in groovy

Given the fallowing lists, I need to create a list mapping the items of the list:

def list1=[math,science]
def list2=[90,80]

create listofObj=[{label:"activity score",value:90},{label:"math",value=80}] I've tried listofObj=[[tablelabels,tablevalues].transpose().collectEntries{[it[0],it[1]]}] but it's producing a simple mapping.

question from:https://stackoverflow.com/questions/65910817/creating-a-list-of-object-in-groovy

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Your solution is quite close. But the transpose only gives you the tuples for label/value. If you need a fresh map with the keys, you have to create it. E.g.

def labels=["math","science"]
def values=[90,80]

println([labels,values].transpose().collect{ label, value -> [label: label, value: value] })
// → [[label:math, value:90], [label:science, value:80]]

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...