removeRange()
方法的语法为:
arraylist.removeRange(int fromIndex, int toIndex)
在这里, arraylist是ArrayList
类的对象。
removeRange()参数
removeRange()
方法采用两个参数。
- fromIndex-从中删除元素的起始位置
- toIndex-移除元素的结束位置
removeRange()返回值
removeRange()
方法不返回任何值。而是删除了一部分arraylist。
arraylist的一部分包含从fromIndex开始的元素,一直扩展到toIndex-1的元素。也就是说,不包含toIndex处的元素。
注意 :如果fromIndex或toIndex超出范围或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)
-返回索引1和2的元素 -
clear()
-删除由subList()
返回的元素