Java 中的 ArrayList removeRange() 方法示例

Java 中的 ArrayList removeRange() 方法示例

Java 中的 ArrayList 的 removeRange() 方法用于从 ArrayList 对象中删除指定范围内的所有元素。它将任何后续元素向左移动。这个方法通过这种方式缩短了列表:(toIndex-fromIndex)个元素,其中 toIndex 是结束索引,fromIndex 是要从中删除所有元素的开始索引。(如果 toIndex == fromIndex,则此操作没有效果)。

语法:

removeRange(int fromIndex, int toIndex)

参数:

有两个参数:

1. fromIndex: 要删除索引元素的起始索引。

2. toIndex: 在 [fromIndex-toIndex) 范围内,所有元素都被删除。

这些参数是 int 类型的。

返回值:

此方法不返回任何值。它只删除指定范围内的所有元素。

错误:

indexOutOfBoundsException :如果 fromIndex 或 toIndex 超出范围(fromIndex = size() 或 toIndex>size() 或 toIndex < fromIndex)

示例1: 演示使用 removeRange() 方法

//Java program to demonstrate the
//working of removeRange() method
import java.util.*;

//将ArrayList类扩展到GFG类,因为removeRange()是受保护的方法
public class GFG extends ArrayList<Integer> {

    public static void main(String[] args) {

        //创建一个空的数组列表
        GFG arr = new GFG();

        //使用add()方法将值添加到列表中
        arr.add(1);
        arr.add(2);
        arr.add(3);
        arr.add(12);
        arr.add(9);
        arr.add(13);

        //在删除之前打印列表
        System.out.println("The list before using removeRange:" + arr);

        //删除第1个到第2个元素之间的所有元素
        arr.removeRange(0, 2);
        System.out.println("The list after using removeRange:" + arr);
    }
}

输出:

The list before using removeRange:[1, 2, 3, 12, 9, 13]
The list after using removeRange:[3, 12, 9, 13]

示例2: 演示错误

// Java program to demonstrate the error in
// working of removeRange() method
import java.util.*;
 
// extending the class to arraylist since removeRange()
// is a protected method
public class GFG extends ArrayList<Integer> {
 
    public static void main(String[] args)
    {
 
        // create an empty array list
 
        GFG arr = new GFG();
 
        // use add() method to add values in the list
        arr.add(1);
        arr.add(2);
        arr.add(3);
 
        arr.removeRange(1, 4); // error as 4 is out of range
 
        System.out.println("The list after using removeRange:" + arr);
    }
}

输出:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
    at java.lang.System.arraycopy(Native Method)
    at java.util.ArrayList.removeRange(ArrayList.java:638)
    at GFG.main(GFG.java:25)

注意:

在 ArrayList 中,removeRange(int fromIndex, int toIndex) 方法是 受保护的方法 。受保护的方法可以在类、子类和包中访问,但不能公开访问。因此,我们将类扩展为 ArrayList。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程