7o3
7o3

Reputation: 49

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.

Upvotes: 0

Views: 614

Answers (1)

cfrick
cfrick

Reputation: 37008

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]]

Upvotes: 3

Related Questions