C++中for循环嵌套遍历的优化方法

项目开发过程中经常会出现A集合与B集合中数据对比取相同数据的情况。

最简单的实现方法如下:

//List A = new ArrayList();
//List B = new ArrayList();
for(int i = 0;ifor(int j = 0;jif(A.get(i).equals(B.get(j))){
            // do sth.
            break;
        }
    }
}


对于上述的方法来说,如果在数据量很大的情况下,会使循环次数倍增,一般开发中对于此问题会将内层的for替换成Map,代码如下:

//List A = new ArrayList();
//List B = new ArrayList(); ==> Map
for(int i = 0;iif(B.containsKey(A)){
       // do sth.
    }    
}

现请教各位在实际项目开发中是否还有其他比较好的实现方法,谢谢。

你可能感兴趣的:(C++)