`

关于ArrayList的remove

 
阅读更多
ArrayList al=new ArrayList();
		al.add("4");
		al.add("3");
		al.add("5");
		
		al.add(null);
		al.add(null);
		System.out.println(al.size());
		for(int i=0;i<2;i++)//注意这里的i<2
		{
			System.out.println("#");
			al.remove(null);
		}
		for(int i=0;i<al.size();i++)
		{
			System.out.println(al.get(i));
		}


其实这里的remove(Object) 他用的是循环查找然后删除!1
先在ArrayList中查找null  找到后 删除null  重组数组!
这里有两个null  所以小于2就可以完成删除所以的null!!
看下源码!
public boolean remove(Object o) {
	if (o == null) {
            for (int index = 0; index < size; index++)
		if (elementData[index] == null) {
		    fastRemove(index);
		    return true;
		}
	} else {
	    for (int index = 0; index < size; index++)
		if (o.equals(elementData[index])) {
		    fastRemove(index);
		    return true;
		}
        }
	return false;
    }


用api解释  也就是!!
移除此列表中首次出现的指定元素(如果存在)。如果列表不包含此元素,则列表不做改动。更确切地讲,移除满足 (o==null ? get(i)==null : o.equals(get(i))) 的最低索引的元素(如果存在此类元素)。如果列表中包含指定的元素,则返回 true(或者等同于这种情况:如果列表由于调用而发生更改,则返回 true)。
分享到:
评论

相关推荐

    Java中ArrayList的removeAll方法详解

    主要给大家介绍了关于Java中ArrayList的removeAll方法的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编一起来看看吧。

    ArrayList测试.

    ArrayList测试.使用C#实现ArrayList的增加Add(),移动Remove(),删除delect()等功能,过程明了带有注释

    java ArrayList.remove()的三种错误用法以及六种正确用法详解

    主要介绍了java ArrayList.remove()的三种错误用法以及六种正确用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    ArrayList常用的方法

    Remove 從 ArrayList 中移除特定對象的第一個匹配項 RemoveAt 移除 ArrayList 的指定索引處的元素 Insert 將元素插入 ArrayList 的指定索引處 ArrayList arrlist = new ArrayList(); //..使用 Add方法在 ...

    Java中ArrayList在foreach里remove的问题详析

    主要给大家介绍了关于Java中ArrayList在foreach里remove问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧

    瑟夫死亡游戏代码

    然后将值为零的一次性删除 arrayList remove 0 ;直到队列的长度为1"&gt;n个人围成一个圈 每隔3个人杀一个人 问最后剩下的人的编号 工具用ArrayList 每一次遍历整个队列 计算出总共被杀的人的所有位置 将计算出的位置...

    ArrayList.md

    老猿说说-ArrayList MD文件 1. 所有的操作都是线程安全的,我们在使用时,无需再加锁; 2. 多个线程同时进行put、remove等操作时并不会阻塞,可以同时进行,和HashTable不同,HashTable在操作时,会锁住整个Map; 3. ...

    Java ArrayList

    InitArray自己编写的一个JAVA用的集合类,试试效果如何。

    Java基础–为什么ArrayList,Vector等都不支持循环中remove?

    为什么ArrayList,Vector等都不支持循环中remove1 Vector 直接删除2 Vector 遍历元素2.1 for循环遍历2.2 迭代器循环2.3 任意方向遍历2.4 Vector的foreach3. Vector迭代器删除4. Vector不使用迭代器删除元素5. Vector...

    Java中ArrayList和LinkedList区别

    对于新增和删除操作add和remove,LinedList比较占优势,因为ArrayList要移动数据。  ArrayList和LinkedList是两个集合类,用于存储一系列的对象引用(references)。例如我们可以用ArrayList来存储一系列的String...

    ArrayList在for循环中使用remove方法移除元素方法介绍

    主要介绍了ArrayList在for循环中使用remove方法移除元素的内容,介绍了具体代码实现,需要的朋友可以参考下。

    Java中的ArrayList的底层源码解读、LinkedList、Vector的区别介绍

    适用人群:JavaSE初学者,对源码感兴趣的,想要深度了解ArrayList底层实现、数据结构、add方法、Remove方法、以及自动扩容机制的同学,并且对ArrayList已经有过使用,想要学习它与LinkedList,Vector等的区别,该...

    C#.Net ArrayList的使用方法

    ArrayList就是传说中的动态数组,它提供了如下一些好处: 动态的增加和减少元素 ...List.RemoveAt(5);//将第6个元素移除 for( int i=0;i&lt;3;i++ ) //再增加3个元素 List.Add(i+20); Int32[] values =

    ArrayList 深入理解底层

    ArrayList 集合源码解读介绍构造方法add方法remove方法总结 介绍 ArrayList Jdk1.8采用的是数组的数据结构,是非线程安全的一个集合 (多线程下数据不安全),本文章主要讲解ArrayList集合添加和集合扩容,其他方法...

    ArrayList.java

    此类的返回的迭代器 iterator和listIterator方法是快速失败的 :如果列表在任何时间从结构上修改创建迭代器之后,以任何方式,除了通过迭代器自身的remove或add方法,迭代器都将抛出ConcurrentModificationException...

    C#生成随机ArrayList的方法

    本文实例讲述了C#生成随机ArrayList的方法。分享给大家供大家参考。具体实现方法如下: public static void RandomizeArrayList(ArrayList arrayList, Random random) ... arrayList.RemoveAt(i); arrayList.Insert(r

    Java ArrayList删除特定元素的方法

    ArrayList是常用的一种java集合,在开发中我们常常需要从ArrayList中删除特定元素。有几种常用的方法:  朴实的方法,使用下标的方式:  ArrayList&lt;String&gt;al=new ArrayList();...  al.remove(i);  i–;  }  

    Java源码篇之容器类——ArrayList

    Java源码篇之容器类——ArrayList1、前言2、ArrayList的类关系3、ArrayList的源码一、类的属性二、add()方法三、get()方法四、remove()方法五、set()方法4、总结 1、前言 对于平常开发的时候遇到的ArrayList,在此做...

    07:ArrayList集合的增删减除.pdf

    4.删除:Remove(object) RemoveAt(int index) 5.集合通过索引下标访问 6.clear();清空 7.Contains():判断是否包含某一个元素 8.ToArray();--object 不足:1.如果存储值类型,需要装箱和拆箱操作 2.不管什么类型的...

Global site tag (gtag.js) - Google Analytics