日期:2014-05-20 浏览次数:20894 次
public static void main(String[] args) throws IOException { List<Integer> list = new ArrayList<Integer>(); list.add(100); list.add(101); list.add(102); list.add(103); //删除集合中102元素。 list.remove(102); }
import java.util.List; import java.util.ArrayList; import java.io.IOException; /** * Created by IntelliJ IDEA. * User: Administrator * Date: 2011-9-26 * Time: 21:56:13 * To change this template use File | Settings | File Templates. */ public class Remove { public static void main(String[] args) throws IOException { List<Integer> list = new ArrayList<Integer>(); list.add(100); list.add(101); list.add(102); list.add(103); //删除集合中102元素。 list.remove(new Integer(102)); for(int i:list){ System.out.println(i); } } }
------解决方案--------------------
import java.io.IOException; import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) throws IOException { List<Integer> list = new ArrayList<Integer>(); list.add(100); list.add(101); list.add(102); list.add(103); for (Integer e : list) { System.out.println(e); } // 删除集合中102元素。 list.remove(list.indexOf(102)); System.out.println("=================="); for (Integer e : list) { System.out.println(e); } } }
------解决方案--------------------
remove传进的参数是Object类型和int类型两个重载函数
int的是索引 Object是删除对象
你传一个整型会认为是int 像一楼那样才是Object的
------解决方案--------------------
List集合里面存放的是Integer
可以将int转化为封装类
然后利用List的remove(Object o)方法
注意:如果List集合里面存放的是自己定义的类(MyClass)时,在利用remove方法的时候,需要确保MyClass已经 override equals和hashCode方法。
------解决方案--------------------
2楼和1楼的正确,2楼是获取102的索引,在remove,这样就是根据索引删除list中的值。
1楼,是将remove中obj类型转换成Integer类型。
------解决方案--------------------
//删除集合中102元素。
for(int i = 0; i<list.size();i++){
if(list.get(i).equals(102)){
list.remove(i);
}
System.out.println(list);
//List<Integer> list1 = (List)obj;
//System.out.println(list1);
}