I want to optimize this code instead of using td(String.valueof(dataset.get()))
mutliple times. I am relatively new to lambda expressions usage and not able to figure out a better way than this
Code need to be optimized
return table(thead(tr(each(columnHeaders, header ->
th(String.valueOf(header))))),
tbody(each(myList, dataset ->
tr(td(String.valueOf(dataset.get(0))),
td(String.valueOf(dataset.get(1))),
td(String.valueOf(dataset.get(2))),
td(String.valueOf(dataset.get(3))),
td(String.valueOf(dataset.get(4))),
td(String.valueOf(dataset.get(5))),
td(String.valueOf(dataset.get(6))),
td(String.valueOf(dataset.get(7))),
td(String.valueOf(dataset.get(8))),
td(String.valueOf(dataset.get(9))),
td(String.valueOf(dataset.get(10)))
))
)
)
I see, you're using j2html.
I think you can do this in one line like this:
But it probably reads better if you break it out a little bit:
All that I've done here, is inside your call to
tbody
you sayeach(myList...
, then just doeach
again for every element ofmyList
.If you made sure that
columnHeaders
andmyList
were typed collections (likeList<String>
) then you could do something like this: