现在有两个map,每个map的数量是百万级,两个map完全一致。
现在要对比两个map,删除第二个map中和第一个Map的value一致,但是key不一致的第二个之后的数据数据。
举例说明:
map1有<1,a>,<2,b>,<3,a>,<4,b>,<5,c>,<6,d>,<7,a>,<8,c>,<9,c>
map2有<1,a>,<2,b>,<3,a>,<4,b>,<5,c>,<6,d>,<7,a>,<8,c>,<9,c>
执行程序以后,map1不变,map2变为<1,a>,<2,b>,<5,c>,<6,d>
。
我已经有一版代码,思路是两个遍历嵌套,等于是百万*百万的循环。
因为目前这个执行效率太慢,所以想请教一下大家有没有更好的思路或者改进方法。
新增说明:map的value类型是自建函数,不是简单的基本数据类型。
建一个key和value反转的map
输出