Java - Functional interface for merging two lists
The thing is that the merge function is never called in your case, because all you are doing is reordering an existing map, so IMO you don't really need to worry about it.
Personally in such cases I just use (m, n) -&gt; m, because it's short and doesn't distract.
Another variant would be to use a function that throws an exception when called. The JDK does this itself when you use the toMap overload that doesn't take a merge function:
private static &lt;T&gt; BinaryOperator&lt;T&gt; throwingMerger() {
  return (u,v) -&gt; { throw new IllegalStateException(String.format(&quot;Duplicate key %s&quot;, u)); };
}

Another thing you may want to consider it not to use a (Linked)HashMap at all here, but simply collect the Entrys into a list. If you need to lookup an entry by key later, then just keep the original map around.

EDIT: In cases where the merge function is used, your implemention is fine. You may want to just put it in a variable, so that its name can describe its function.
One thing you could consider is using a function that creates a new list instead of &quot;reusing&quot; one of the existing lists. That would reflect the functional style of the code better, where one normally uses immutable data structures.
The basic problem is that Java's List interface isn't intended for functional/immutable situations and doesn't have a simple method to concatinate two lists.
If you are open to additional libraries you'd have more options. For example, Apache's Commons has a union method.