Facing a challenge to come up with an efficient way of merging two ArrayLists of Maps.

The map looks like this:

```
{Username=User1, Role=Admin}

```

So one list looks like this:

```
List1 =  [{Username=User1, Role=Admin},{Username=User2, Role=Auditor}]

```

and so on.

There is another list:

```
List 2 = [{Username=User1, Role=Integrator},{Username=User2, Role=Manager}]

```

***Note:*** The users have different roles in different lists.

What i want to end up with is:

```
MergedList = [{Username=User1, Role=[Admin,Integrator]},{Username=User2, Role=[Auditor,Manager}]

```

***Another Note:*** The actual list has 50,000 maps and each map has 20entries!! Just tried to keep it simple here.

Below are the stuff i tried. But failed.

Tried `putAll`.
Tried `merge`.

Tried something that I found in another post

`map2.forEach((k, v) -> map3.merge(k, v, String::concat));`