ArrayList的Remove方法有两种传值方法删除集合中的元素
1. remove(下标)
2. remove(对象)
问题来了,如果集合中添加的值都是int类型,那么list.remove(1);删除的是下标1的还是值是1的?
//添加值
List list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
list.add("张三");
list.remove(1);
答:是按下标删除
解析:
因为所有存入集合中的基本数据类型,如 int,全部都会转化为包装类型, Integer 类型。然后再以Object类型存储,所以,通过 list.remove(1); 是按照下标删除而不是对象删除,如果想按照对象删除,同理对象为Integer即可,如:
list.remove(new Integer(1));