Standard Test methods for checking values in Lists, Maps etc
Map equals has same coverage and it is not attached to implementation: See map.equals javadoc.

So "better" (at least, more compact code) would be:

  assertEquals("something", providedMap, receivedMap);


Well, same for list. That means, you can use the same command as above.

  assertEquals("something", providedList, receivedList);      


And even more... 

  assertEquals("something", providedMapList, receivedMapList);


Sure, you will not see which key is missing. 

So, you can create new static matchers, as assertEquals that could provide more information. But, assertEquals already prints the content of each container (executing toString of expected and received object), so you can figure out what is missing anyway.

Example:

java.lang.AssertionError: 
Expected :[1, 2, 3, 4, 6]
Actual   :[1, 2, 3, 4, 5]


Edited

If the output is too big, you can use your method. There are some options to follow:


Create a class with static methods (similar with org.junit.Assert)

public class ContainerAssert {

public static &lt;U, V &gt;void assertEquals(Map&lt;U, V&gt; providedMap, Map&lt;U, V&gt; receivedMap) {
    Assert.assertNotNull("Provided Map is null;", providedMap);
    Assert.assertNotNull("Received Map is null;", receivedMap);
    Assert.assertEquals("Size mismatch for maps;", providedMap.size(), receivedMap.size());
    Assert.assertTrue("Missing keys in received map;", receivedMap.keySet().containsAll(providedMap.keySet()));

    providedMap.keySet().stream().forEach((key) -&gt; {
        Assert.assertEquals("Value mismatch for key '" + key + "';", providedMap.get(key), receivedMap.get(key));
    });
  }
  // ...
}

Use Hamcrest

 // with strict order
 List&lt;String&gt; collection = Lists.newArrayList("ab", "cd", "ef");
 assertThat(collection, contains("ab", "cd", "ef"));

Use Hamcrest and create a specialized matcher