📜  Java ArrayList removeRange()

📅  最后修改于: 2020-09-27 00:26:31             🧑  作者: Mango

Java ArrayList removeRange()方法从指定索引之间存在的arraylist中删除元素。

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 {
    public static void main(String[] args) {
        // create an ArrayList
        Main arraylist = new Main();

        // add some elements to the ArrayList
        arraylist.add("Java");
        arraylist.add("English");
        arraylist.add("Spanish");
        arraylist.add("Python");
        arraylist.add("JavaScript");
        System.out.println("ArrayList: " + arraylist);

        // remove elements between 1 to 3
        arraylist.removeRange(1, 3);
        System.out.println("Updated ArrayList: " + arraylist);
    }
}

输出

ArrayList: [Java, English, Spanish, Python, JavaScript]
Updated ArrayList: [Java, Python, JavaScript]

removeRange()方法是protected 。这意味着只能在class / package / subclass中访问它。这就是为什么Main方法在上面的示例中扩展ArrayList类的原因。

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

但是,这在Java中并不常用。相反,我们结合使用ArrayList subList()和ArrayList clear()方法。


示例2:删除多个元素
import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // create an ArrayList
        ArrayList numbers = new ArrayList<>();

        // add elements to the ArrayList
        numbers.add(1);
        numbers.add(2);
        numbers.add(3);
        numbers.add(4);
        numbers.add(6);
        System.out.println("ArrayList: " + numbers);

        // remove element between 1 to 3
        numbers.subList(1, 3).clear();
        System.out.println("Updated ArrayList: " + numbers);
    }
}

输出

ArrayList: [1, 2, 3, 4, 6]
Updated ArrayList: [1, 4, 6]

在上面的示例中,我们创建了一个名为Numbers的数组列表 。注意这一行,

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

这里,

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