remove
boolean remove(Object o)如果 set 中存在指定的元素,则将其移除(可选操作)。更确切地讲,如果此 set 中包含满足 (o==null ? e==null : o.equals(e)) 的元素 e,则移除它。如果此 set 包含指定的元素(或者此 set 由于调用而发生更改),则返回 true(一旦调用返回,则此 set 不再包含指定的元素)。 指定者:
接口 Collection<E> 中的 remove
参数:
o - 从 set 中移除的对象(如果存在) 
返回:
如果此 set 包含指定的对象,则返回 true 
抛出: 
ClassCastException - 如果指定元素的类型与此 set 不兼容(可选) 
NullPointerException - 如果指定的元素为 null,并且此 set 不允许 null 元素(可选) 
UnsupportedOperationException - 如果此 set 不支持 remove 操作

解决方案 »

  1.   

    谁告诉你set不支持remove的?拉他出去切JJ
      

  2.   

    Set<String> set = new HashSet<String>();
    set.add("a");
    set.add("b");
    set.add("c");
    set.add("d");
    System.out.println(set);
    set.remove("c");
    System.out.println(set);
      

  3.   

    Set中的remove的参数类型为Object,但是如果不用跌代器遍历来删除,似乎不能成功?因为只有用跌代器遍历取词再放到remove中做参数,对吗?我本意是想问如果不能跌代器能不能做到遍历删除,就像我的程序中的Queue与List一样。
      

  4.   

    set如果不涉及到 hash算法,肯定是可以删除的,楼主关于有没有方法,看api不就 o了?
    另外,一般对应hash算法的集合,如果修改hash值,那就移除不了了.