If you use a List or a Collection, we can refer it only by the index. I was looking for a key-value pair. Yes, adding them to the 'parameters' hashmap serves the purpose, but again, if I need to pass 100 strings, I need to explicitly include the parameters in the jrxml. I was looking for a solution and found one - Another hashmap within 'parameters'. HashMap myMap = new HashMap(); myMap.put("1", "A"); myMap.put("2", "B"); myMap.put("3", "C"); Map parameters = new HashMap(); parameters.put("myMap", myMap); In the jrxml, fetch values using '$P{myMap}.get("1")'. The advantage is that we don't to specify A, B and C in the parameter section of the jrxml. Looks like anything - Tree, Map can be used. Hope that helped. :)