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。
极客教程