求一个java数据结构。可以实现里面放入的值不重复,而且可以方便的查找到是否存在某个值。多谢各位了。请顺便留下使用方法。

解决方案 »

  1.   

    随便说一下,用一个Vector, 然后你写的那个add方法加一个判断就ok
      

  2.   

    用Set就可以了,HashSet或者TreeSet。现成的啊。
      

  3.   

    HashSet和LinkedHashSet保存的值都不允许重复,LinkedHashSet拥有HashSet的查询速度,且是有次序的(按插入的次序).常用方法:add添加元素,contains判断某元素是否在集合中.
      

  4.   

    HashSet如果不判断元素是否在集合中,直接插入2个相同的对象。报什么错呢?
      

  5.   

    HashSet是根据对象的HashCode来判断是否相等,所以不用你做判断,如果在插入对象时发现已经有一个和它相等的了,就返回已插入的对象,什么都不做。
      

  6.   

    那如何便利HashSet,输出该集合中所有的值呢?
      

  7.   

    to flyforlove(为情飞) 怎么可能用hashCode来判断是否相等呢?
    add方法不是返回一个boolean吗?
      

  8.   

    用SET类.SET本身就不允许相同的值
      

  9.   

    Set的遍历只能用Iterator
    你会发现Set接口和Collection接口是一模一样,只有注释不一样!
      

  10.   

    Set的遍历只能用Iterator。有没有例子阿?帮忙贴一个。
      

  11.   

    Set set;
    for(Iterator it=set.iterator();it.hasNext();){
        Object ele=it.next();
        //
    }
      

  12.   

    to treeroot(旗鲁特) HashSet其实内部用的是HashMap,HashSet中的每一个对象,其实就是HashMap中的一个Key,所以其实它是根据HashCode来判断是否相等的。对不起,我说错了一点,就是当添加一个对象时,如果已有相等的对象的话,HashMap中的put方法会返回原有对象,而HashSet中add方法是通过HashMap中的put方法的返回值是否等于null来返回一个布尔值。