,,深入剖析ArrayList的remove方法

,,深入剖析ArrayList的remove方法

本文主要介绍了ArrayList的remove方法的使用,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。/p

目录

ArrayList的remove方法按索引删除元素。使用equals方法比较和删除元素。ArrayList的remove方法的注意事项摘要

ArrayList的remove方法

remove方法用于从ArrayList中移除元素。这个方法有两个版本。

public E remove(int索引)

public boolean remove(对象o)

按索引删除元素

如果收到一个int值,这个值表示要删除的元素的索引值,方法返回的值就是被删除的元素。如果索引值超出实际范围,将引发IndexOutOfBoundsException异常。

list integer integers=new ArrayList(5);

integers . add(1);

integers . add(2);

integers . add(8);

integers . add(4);

integers . add(5);

system . out . println(integers . remove(2));

System.out.println(整数);

删除索引为2的元素(8),remove的返回值为8。

使用equals方法比较并删除元素

如果收到object类型的值,它将依次与列表中的每个元素进行比较(使用equals方法)。如果它存在,您将删除第一个遇到的元素并返回true。

list integer integers=new ArrayList(5);

integers . add(1);

integers . add(2);

integers . add(8);

integers . add(2);

integers . add(5);

system . out . println(integer . remove(integer . value of(2)));

System.out.println(整数);

system . out . println(integer . remove(integer . value of(3)));

System.out.println(整数);

可以看出,2转换为整数类型后,调用的remove方法与上面不同,删除2,返回true。

如果比较后没有这样的元素,则返回false。

所以对于保存了Integer类型的ArrayList,由于自动打包机制的存在,在添加元素时可以直接使用int类型的元素。但是在删除元素的时候,要注意。如果要查找要删除的特定元素,需要将int值转换为Integer,然后将其作为参数传递给remove元素。否则,传入的int值将被用作索引,从而导致删除错误的元素。

ArrayList remove方法的注意事项

废话少说,先看代码。

公共类列表删除{

公共静态void main(String[] args) {

system . out . println(' test remove wrapped type and unwrapped type ');

ArrayListInteger my list=new ArrayListInteger();

for(int k=0;k10;k ) {

my list . add((k 1)* 10);

}

system . out . println(' my list:' my list ');

//remove(8)是删除下标为8的元素。

system . out . println(string . format(' % s:% s my list:% s ',' remove(8)',myList.remove(8),my list));

//将元素80更改为8

myList.set(myList.indexOf(80),8);

collections . shuffle(my list);

system . out . println(' my list:' my list ');

//my list . remove(integer . value of(8))是删除元素8。

system . out . println(string . format(' % s:% s my list:% s ',' remove(Integer.valueOf(8))',my list . remove(integer . value of(8)),my list));

}

}

输出:

测试移除包装类型和未包装类型。

我的列表:[10,20,30,40,50,60,70,80,90,100]

remove(8):90我的列表:[10,20,30,40,50,60,70,80,100]

我的列表:[20,50,40,60,100,10,30,70,8]

remove(integer . value of(8)):true my list:[20,50,40,60,100,10,30,70]

总结

如果ArrayList包含整数对象,则为。remove(8)删除下标为8的元素。remove(Integer.valueOf(8))是删除元素8。

看源代码发现,public E remove(int index)是ArrayList父类AbstractList的方法;public boolean remove(Object o)是AbstractList的父类AbstractCollection中的一个方法。

数组列表中出现重载。

以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • ,,Java中ArrayList的使用详细介绍
  • ,,java中ArrayList的两种排序方法实例
  • 如何删除arraylist中的一个元素,java中删除数组中指定位置的元素
  • arraylist删除所有元素,在使用arraylist集合时,删除元素的方法
  • arraylist集合的方法,arraylist集合查询元素的速度很快
  • java中的集合类包括Arraylist,link,集合实现类ArrayList和LinkedList的区别
  • java vector和arraylist的区别,vector是list的实现类吗
  • arraylist的初始化内容如下,java的arraylist方法
  • 如何遍历arraylist集合,遍历arraylist的三种方法
  • arraylist和linkedlist面试题,描述一下ArrayList和LinkedList各自实现和区别
  • java 输出arraylist里的内容,怎么输出arraylist里的数据
  • arraylist为啥线程不安全,arraylist线程安全问题
  • java中list和array的区别,java linklist和arraylist的区别
  • java中的arraylist是做什么的,java中array和arraylist的区别
  • ,linkedlist和arraylist和vector的区别
  • 留言与评论(共有 条评论)
       
    验证码: