有10万个用户的信息存储在文本文件,如何将重复的信息排除掉,给出解决的方法(至少2种)

解决方案 »

  1.   

    1.load到数据库,然后用distinct
    2.Map/Reduce算法
      

  2.   

    如果纯粹JAVA 处理 可以考虑使用map 
      

  3.   

    方法一,把所有用户的信息,插到数据库中,然后去除重复即可。
    方法二,读取文件一次,在内存中创建用户信息的索引,通过索引读取用户信息,去除重复信息。
    比如,索引块的结构可以是:
       {
        用户信息的MD5值或HashCode值;
        用户信息在文件中的起始位置;
        }
      这样,通过比较上述两项的值就可以去掉重复了。第一项的值,主要是为了提高效率,免去一些一盘操作。
      因为,MD5值或HashCode不相同的用户,用户信息的一定不相同;
      生成新文件的算法复杂度,要简单于,在原文件上去除重复的操作。
      

  4.   

    楼上的都说完了也一种是load进数据库,这种我比较常用,也方便一些纯java不好弄