跳到主要内容

Java ArrayList removeRange() 方法

removeRange() 方法的语法是:

arraylist.removeRange(int fromIndex, int toIndex)

这里,arraylistArrayList 类的一个对象。

removeRange() 参数

removeRange() 方法接受两个参数。

  • fromIndex - 开始移除元素的起始位置
  • toIndex - 结束移除元素的位置

removeRange() 返回值

removeRange() 方法不返回任何值。它用于移除 arraylist 的一部分。

arraylist 的这部分包含从 fromIndex 开始,直到 toIndex-1 的元素。也就是说,toIndex 位置的元素不包括在内。

注意:如果 fromIndextoIndex 超出范围,或者 toIndex < fromIndex,方法会抛出 IndexOutOfBoundException 异常。

示例 1:Java ArrayList removeRange()

import java.util.*;

class Main extends ArrayList<String> {
public static void main(String[] args) {
// 创建一个 ArrayList
Main arraylist = new Main();

// 向 ArrayList 添加一些元素
arraylist.add("Java");
arraylist.add("English");
arraylist.add("Spanish");
arraylist.add("Python");
arraylist.add("JavaScript");
System.out.println("ArrayList: " + arraylist);

// 移除索引 1 到 3 之间的元素
arraylist.removeRange(1, 3);
System.out.println("更新后的 ArrayList: " + arraylist);
}
}

输出

ArrayList: [Java, English, Spanish, Python, JavaScript]
更新后的 ArrayList: [Java, Python, JavaScript]

removeRange() 方法是 protected。这意味着它只能在类/包/子类内部访问。这就是为什么上例中的 Main 方法继承了 ArrayList 类。

由于 Main 类继承了 ArrayList 的所有属性,我们可以使用 Main 类创建 arraylist。

然而,这在 Java 中并不常见。相反,我们通常结合使用 ArrayList subList()ArrayList clear() 方法。

示例 2:移除多个元素

import java.util.ArrayList;

class Main {
public static void main(String[] args) {
// 创建一个 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();

// 向 ArrayList 添加元素
numbers.add(1);
numbers.add(2);
numbers.add(3);
numbers.add(4);
numbers.add(6);
System.out.println("ArrayList: " + numbers);

// 移除索引 1 到 3 之间的元素
numbers.subList(1, 3).clear();
System.out.println("更新后的 ArrayList: " + numbers);
}
}

输出

ArrayList: [1, 2, 3, 4, 6]
更新后的 ArrayList: [1, 4, 6]

在上面的示例中,我们创建了一个名为 numbers 的 arraylist。注意这行代码,

numbers.subList(1, 3).clear();

这里,

  • subList(1, 3) - 返回索引 12 的元素
  • clear() - 移除 subList() 返回的元素