import java.util.HashMap;
import java.util.Map;

class Ideone {
    public static <K, V> Map<K, V> mapDifference(Map<? extends K, ? extends V> left, Map<? extends K, ? extends V> right) {
        Map<K, V> difference = new HashMap<>();
        difference.putAll(left);
        difference.putAll(right);
        difference.entrySet().removeAll(right.entrySet());
        return difference;
    }

    public static void main(String[] args) {
        Map<String, String> map1 = new HashMap<>();
        Map<String, String> map2 = new HashMap<>();

        map1.put("a", "1");
        map1.put("b", "2");

        map2.put("b", "2");
        map2.put("d", "4");

        System.out.println(mapDifference(map2, map1));
    }
}