关于java里ArrayList类的remove(index)方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java里ArrayList类的remove(index)方法相关的知识,希望对你有一定的参考价值。
ArrayList 的remove(index)方法返回 移除的那个值
为甚么这句没错误
ArrayList <Integer>T=new ArrayList<inTeger>(Arrays.asList(1,2,3));
T.remove(2); //这句
List list = new linkedList();
list.add("0");
list.add("1");
list.remove(0);
结果就是:list.get(0) =1;
备注:如果在一次“list.remove(0);”那么list对象就是个空。 参考技术A remove(int)用于删除ArrayList数组容器中指定位置int上的元素,并返回此元素.
Java源代码
public E remove(int index)
RangeCheck(index);
modCount++;
E oldValue = elementData[index];
//numMoved需要移动的元素个数,也就是index后面的所有的元素个数
int numMoved = size - index - 1;
//将index后面的所有元素全部往前依次移动一个位置
if (numMoved > 0)
System.arraycopy(elementData, index+1, elementData, index,
numMoved);
//经过arraycopy的移位,数组容器的最个位置被腾空,
//但是仍然持有某个对象的引用,需要把这个多余的引用置为null.
elementData[--size] = null; // Let gc do its work
return oldValue;
参考技术B 你好:
请问这句你觉得他怎么错了,T.remove(2);下标2是有的,remove怎么会有错呢追问
这个方法没有返回值吗 ?
我在jdk上看的这个方法返回 从列表中移除的元素
你好:
这句是会返回3,但是你没有接收哦
方法返回值类型不为空,也可以自己运行哈,不过没有接收,要接收也是可以的
是这样吧?
对,返回的是被删除的那个元素的类型,就是Integer,你可以用个int a = T.remove(2);然后输出一下就可以看到了
本回答被提问者采纳以上是关于关于java里ArrayList类的remove(index)方法的主要内容,如果未能解决你的问题,请参考以下文章
为什么阿里巴巴Java开发手册中强制要求不要在foreach循环里进行元素的remove和add操作?
使用类的 ArrayList 在 Spring 中实现 CRUD