runoops.com

Java ArrayList removeRange() 方法

Java ArrayList

removeRange() 方法用于删除指定索引之间存在的元素。

removeRange() 方法的语法为:

arraylist.removeRange(int fromIndex, int toIndex)

注:arraylist 是 ArrayList 类的一个对象。

参数说明:

  • fromIndex - 索引起始位置,包含该索引位置的值
  • toIndex - 索引结束位置,不包含该索引位置的值

返回值

没有返回值。

该方法仅删除了一部分动态数组元素,从 fromIndex 到 toIndex-1 的动态数组元素。也就是说不包括 toIIndex 索引位置的元素在内。

注意:如果fromIndex 或者 toIndex 索引超出范围,或者说 toIndex < fromIndex,则抛出 IndexOutOfBoundException 异常。

实例

以下实例演示了 removeRange() 方法的使用:

实例

import java.util.*;

class Main extends ArrayList {
    public static void main(String[] args) {
        // 创建一个动态数组
        Main sites = new Main();
        sites.add("Google");
        sites.add("Runoops");
        sites.add("Taobao");
        sites.add("Wiki");
        sites.add("Weibo");

        System.out.println("ArrayList : " + sites);

            // 删除从索引值1到3的元素
            sites.removeRange(1, 3);
            System.out.println("删除后的 ArrayList: " + sites);
    }
}

执行以上程序输出结果为:

ArrayList : [Google, Runoops, Taobao, Wiki, Weibo]
删除后的 ArrayList: [Google, Wiki, Weibo]

removeRange() 方法是受保护的,所以如果要使用需要继承 ArrayList 类,继承后我们就可以使用 Main 类来创建一个动态数组。

removeRange() 方法不常用,我们通常可以使用 ArrayList subList() 和 ArrayList clear() 方法来实现删除元素。

实例

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        // 创建一个整型的动态数组
        ArrayList numbers = new 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("Updated ArrayList: " + numbers);
    }
}

执行以上程序输出结果为:

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

在以上实例中,我们创建了一个名为 numbers 的动态数组。

注意这些表达式:

numbers.subList(1, 3).clear();
  • subList(1, 3) - 返回索引值为 1 和 2 的元素。
  • clear() - 删除由 subList() 返回的元素。

Java ArrayList