日期:2014-05-20  浏览次数:20689 次

java.util.list remove()方法疑问
java.util.list接口中有个remove()方法。查了API:


public   boolean   remove(Object   o)

public   Object   remove(int   index)

上面那个移除对象,还好说,下面那个是移除指定位置的元素,

现在问题是,我有个list类型变量,
  假定从下标0开始,分别为3,2,5,1四个元素
我现在要删除值为1的元素,在知道位置情况下可以用remove(4);
要是不知道呢?
      我有歌笨方法,循环取出,比较,再删除对应的int   i。

请问,有其他好方法码?


------解决方案--------------------
你的这个list里面放的是什么类型啊?Integer?
这样就remove(new Integer(1));就好了呀。
------解决方案--------------------
LZ看API要看全。。remove还有个是这样的,里面可以放Object,肯定能解决你的问题了吧
boolean remove(Object o)
移除列表中出现的首个指定元素(可选操作)。如果列表不包含元素,则不更改列表。更正式地说,移除具有满足下面条件的最低索引 i 的元素:(o==null ? get(i)==null :o.equals(get(i)))(如果存在这样的元素)。
------解决方案--------------------
楼上根据OBJECT删除的方法为正解,如果你非要用public Object remove(int index)
这个方法的话,可以这样先调用list.indexOf(new Integer(1));取得位置,然后再以此位置为参数调用public Object remove(int index)方法,即可删除这个元素