You can use orika mapper. It is very flexible and extendable.
You can find more details here.
Please read through the user guide.
It's also mentioned in the FAQ.
Can I map an object contained in a collection or map to a field, or vice-versa
Yes. (as of version 1.3.0)
For a Bean to Map, simply define your class-map as normal using the mapperFactory.classMap(...) method, passing one of the types as a Class (or Type) which is assignable to java.util.Map. The field-names on the Map side of the equation will be used as the Map keys.
Using the byDefault() method in such a scenario would result in all the properties of the Bean type being mapped by their property name into the Map type.
For a Bean to List or Array, follow the same strategy as mentioned above for Maps, but instead of providing key values, you would instead provide index values within the Array or List at which the Bean values should be stored.