关于ArrayList的常见问题
今天在使用ArrayList删除(remove方法)的时候,发现了一些问题,以此做一个总结加深记忆
在学完ArrayList集合后,我们对ArrayList有所了解
ArrayList类是一个特殊的数组。通过添加和删除元素,就可以自动改变数组的长度。
ArrayList
ArrayList底层仍然采用数组来实现,所以它也具有数组的部分特点,例如在遍历或者获取元素时都相对于其它集合类有很大的优势,这也是有序下标索引所带来的便利。而这种有序索引同样也会带来在插入中间元素或者删除中间元素劣势
ArrayList常见问题
索引类型问题
话不多说上代码:
public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add("a");
list.add("b");
list.add("c");
list.add("d");
Integer i = 1;
list.remove(i)
//打印最后物件个数
System.out.println(list.size());
System.out.println(list);
}
打印结果
4
[a, b, c, d]
注意1:ArrayList对象不能存储基本类型,只能存储引用类型的数据。
注意2:索引的类型必须是int类型 此代码中i的类型为Integer,在list的remove方法的参数中如果传递一个Object类型,含义将改为:从列表中删除指定元素的第一个出现(如果存在)。
遍历删除问题
请看下面一段代码
需求:删除ArrayList中所有"b"元素
public static void main(String[] args) {
//ArrayList 中有{"a","b","b","c","d","b","e","e","e",}
//删除所有"b"
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add