📜  Java中的 Arraylist removeRange() 示例

📅  最后修改于: 2022-05-13 01:55:15.378000             🧑  作者: Mango

Java中的 Arraylist removeRange() 示例

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

removeRange(int fromIndex, int toIndex)

参数 :
有两个参数:
1. fromIndex :要从中删除索引元素的起始索引。
2. toIndex :在 range[fromIndex-toIndex) 内,所有元素都被删除。
参数是int数据类型。
返回:
此方法不返回任何值。它只删除指定范围内的所有元素。
错误:
indexOutOfBoundsException : 如果 fromIndex 或 toIndex 超出范围(fromIndex = size() 或 toIndex > size() 或 toIndex < fromIndex)
示例 1 :演示 removeRange() 方法的使用

Java
// Java program to demonstrate the
// working of removeRange() method
import java.util.*;
 
// extending the class to arraylist since removeRange()
// is a protected method
public class GFG extends ArrayList {
 
    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.add(12);
        arr.add(9);
        arr.add(13);
 
        // prints the list before removing
        System.out.println("The list before using removeRange:" + arr);
 
        // removing range of 1st 2 elements
        arr.removeRange(0, 2);
        System.out.println("The list after using removeRange:" + arr);
    }
}


Java
// 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 {
 
    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);
    }
}


输出:

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

示例 2 :演示错误的程序

Java

// 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 {
 
    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)

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