更多: zhilu jiaocheng

ArrayList remove(Object o) 示例

Java仅删除数组列表中第一次出现的元素

使用 remove() 方法从数组列表中删除对象的 Java 程序。

import java.util.ArrayList;
import java.util.Arrays;
public class ArrayListExample 
{
    public static void main(String[] args) throws CloneNotSupportedException 
    {
        ArrayList<String> alphabets = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));

        System.out.println(alphabets);

        alphabets.remove("C");          //Element is present

        System.out.println(alphabets);

        alphabets.remove("Z");          //Element is NOT present

        System.out.println(alphabets);
    }
}

程序输出。

[A, B, C, D]
[A, B, D]
[A, B, D]

删除所有出现的元素

我们不能使用 remove()方法直接从列表中删除所有出现的任何元素。
为此,我们可以使用 removeAll() 方法。

Java 程序从数组列表中删除所有出现的对象。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
public class ArrayListExample 
{
    public static void main(String[] args) throws CloneNotSupportedException 
    {
        ArrayList<String> alphabets = new ArrayList<>(Arrays.asList("A", "B", "A", "D", "A"));

        System.out.println(alphabets);

        alphabets.removeAll(Collections.singleton("A"));

        System.out.println(alphabets);
    }
}

程序输出。

[A, B, A, D, A]
[B, D]
Java ArrayList remove() 方法

ArrayList remove() 从此列表中删除第一次出现的指定元素(如果存在)。
如果列表不包含该元素,则列表保持不变。

ArrayList remove() 方法

remove()方法被重载并有两种变体:

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

ArrayList remove(int index)方法 示例

Java 程序使用 remove() 方法从数组列表中根据对象的“索引index”位置删除对象。

import java.util.ArrayList;
import java.util.Arrays;
public class ArrayListExample 
{
    public static void main(String[] args) throws CloneNotSupportedException 
    {
        ArrayList<String> alphabets = new ArrayList<>(Arrays.asList("A", "B", "C", "D"));

        System.out.println(alphabets);

        alphabets.remove(2);          // 删除 'C'

        System.out.println(alphabets);

        alphabets.remove(10);          // 索引超出范围,将引发异常
    }
}

程序输出。

[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.onitroad.example.ArrayListExample.main(ArrayListExample.java:18)
日期:2020-09-17 00:09:56 来源:oir作者:oir