有两个集合A,B,每个集合大概30000个元素,以A集合为样本,将A-B删除,再将B-A添加例如:A(1,2,3)B(1,3,4,5)合并后的A为(1,3,4,5)最快的算法是什么?

解决方案 »

  1.   


    的确就是B,但不能将A集合clean然后添加B集合的元素,必须对A集合做差异处理(少的元素Remove,多的元素add)
      

  2.   

    HashSet等散列集合类中有相关的方法,直接用就行,效率非常高,因为它们都基于散列,
      

  3.   

    HashSet.ExceptWith可以直接高效率得到A-B和B-A的结果,HashSet.UnionWith 方法可以高效率实现两个集合合并,