Java ArrayList remove(): 从列表中删除单个元素

培训教学 潘老师 7个月前 (10-09) 182 ℃ (0) 扫码查看

Java ArrayList.remove()方法会从该ArrayList中删除指定元素的第一个出现位置,如果存在的话。如果列表不包含该元素,则列表保持不变。

1.语法

remove()方法有两种形式的重载:

  • boolean remove(Object o) – 通过值删除列表中指定元素的第一个出现位置。如果从列表中删除了任何元素,则返回true,否则返回false。
  • Object remove(int index) – 从列表中删除指定位置的元素。将任何后续元素向左移动。返回从列表中删除的元素。如果参数索引无效,则抛出IndexOutOfBoundsException异常。

2.从ArrayList中删除元素的示例

2.1. 仅删除元素的第一个出现位置

使用remove()方法从ArrayList中删除对象的Java程序。在以下示例中,我们调用remove()方法两次。

  • 如果列表中找到该元素,则从列表中删除该项的第一个出现位置。
  • 如果列表中没有找到该元素,则列表保持不变。

以下列表中两次包含字符串“C”。remove()方法每次仅删除单个出现位置。

ArrayList<String> alphabets = new ArrayList<>(Arrays.asList("A", "B", "C", "C", "D"));
alphabets.remove("C");   //[A, B, C, D]
alphabets.remove("C");  //[A, B, D]
alphabets.remove("Z");  //[A, B, D]  - List is unchanged

2.2. 删除元素的所有出现位置

我们不能直接使用remove()方法从列表中删除所有出现位置的任何元素。我们可以使用removeAll()方法来实现这一目的。

Java程序,从ArrayList中删除对象的所有出现位置。

ArrayList<String> alphabets = new ArrayList<>(Arrays.asList("A", "B", "C", "C", "D"));
alphabets.removeAll(Collections.singleton("C"));   //[A, B, D]

3. 按索引删除元素

在使用索引删除元素时,我们必须非常小心列表的大小和索引参数。Java程序,使用remove()方法从ArrayList中根据其索引位置删除对象。

ArrayList<String> alphabets = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));
alphabets.remove(2);  //索引未超出范围 - 移除 'C'
alphabets.remove(10);    //索引超出范围 - 抛IndexOutOfBoundsException

程序输出。

[A, B, C, D]
[A, B, D]
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 10, Size: 4
    at java.util.ArrayList.rangeCheck(ArrayList.java:653)
    at java.util.ArrayList.remove(ArrayList.java:492)
    at com.howtodoinjava.example.ArrayListExample.main(ArrayListExample.java:18)

这就是Java中ArrayList remove()方法的全部内容。


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/teach/9396.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】