It's just that Java is very verbose, and actually I found it particularly horrible for data driven applications (by this I mean apps whose behavior is determined by data/config files, not "Big Data" - I have no experience with the latter). For complex data types you always need to create complex class hierarchies. In other languages you could just write webInfo = {url: "bla.bla", title: "bla die blub", links: ["link1…
ImmutableMap.Builder gives you almost syntax-free hash map creation.
You can use constructors in a loop or Lists.transfrom for data-driven construction. Not exactly like JavaScript, but gets close.