现在我有个列表 list 里面存了 几十个元素,(目前用ArrayList存储的), 现在遍历 list 表中的每个元素进行处理,每个元素又能够得到很多同类的元素,获得之后重新添加到list里, 但是这时可能有重复,所以添加之前要检查是否已存在,不存在才再添加。 现在检查存在是个问题,因为最后list里面可能有几十万个元素,因为元素太多,线性遍历效率就太低了,所以 有哪位大侠 有好的办法?   貌似 HashMap 挺好的, 但是不知道怎么用,高手来指点一下呀!!!

解决方案 »

  1.   

    其实我完全没懂你的意思,绕来绕去,最后不知道你讲什么。只知道你有一个ArrayList里面存放了几十个元素
      

  2.   

    你的意思是 把list里边的元素放到另外一个list里边  然后遍历?
      

  3.   

    直接用set不就好了,判断都不需要了人家底层也是用的map
      

  4.   

    List如果里面数据多了,可以多线程拆i开读
      

  5.   

    简单点说 就是有一个list ,我在遍历这个list的同时还要添加元素进去,同时list中的元素不能重复,所以要检查存在性。看JDK的API, 用HashSet 存储 我自定义的类对象的时候要重写 equals()方法和hashCode()方法,大侠们有没有例子呀?
      

  6.   

    用HashSet即可
    equals()方法和hashCode()用父类的就行了,没必要重写
      

  7.   

    直接用Set啊,重复数据是插入不进去的