好像只能用循环来判equals。
你用HashMap其实不安全,你用元素本身做key不好, 比如v.add(new String("123"));
v.add(new String"456"));v.add(new String("123"));的话,最终c的值应该是{[123],[456],[123]},显然没有起到消除重复值的效果。

解决方案 »

  1.   

    jkit(郁闷的程序员) 
    你写的执行过?结果如你所述?
      

  2.   

    结果应该还是能驱除重复值。
    String类实现了hashCode和equals两个方法,所以可以作为键值。
    如果是其他没有实现这两个方法的对象,此法不通,不能取得预期效果。
      

  3.   

    用contains方法不就完了,那里有那么麻烦!
      

  4.   

    ****他自己写了个方法,用循环加比较一个个检查,他的vector中方的不是简单的string吧,如果是自己写的类,
    看看是不是没有实现这两个方法:
      public boolean equals(Object o){ //比如类相等的条件判断
      }
      public int hashCode(){
      }
      

  5.   

    不好意思我写的没有执行过,String类实现了hashCode和equals两个方法,所以可以作为键值。不过从通用的角度来看,还是只能用循环来一个个判。
      

  6.   

    andyzhu98果然是成熟的男人,此招妙也。多谢各位了:>
      

  7.   

    Vector v=new Vector();
    Vector c=new Vector();
    v.add("123");
    v.add("456");
    v.add("123");
    for(int i=0;i<v.size();i++){
      if(!c.contains(v.get(i))
         c.add(v.get(i));
    }to  geyf:一直搞不懂HashCod方法有何用?you know?