Java ArrayList removeRange()方法从指定索引之间的ArrayList中删除元素。
removeRange()方法的语法为:
arraylist.removeRange(int fromIndex, int toIndex)
removeRange()方法有两个参数。
fromIndex -从中删除元素的起始位置
toIndex - 删除元素的结束位置
removeRange()方法不返回任何值。 而是删除了一部分arraylist
arraylist的一部分包含从fromIndex开始的元素,一直扩展到toIndex-1的元素。 也就是说,不包含toIndex处的元素
注意:如果fromIndex或toIndex超出范围,或 toIndex < fromIndex,该方法抛出indextofboundexception。
import java.util.*;
class Main extends ArrayList<String> {
public static void main(String[] args) {
//创建 ArrayList
Main arraylist = new Main();
//添加元素到 ArrayList
arraylist.add("Java");
arraylist.add("English");
arraylist.add("Spanish");
arraylist.add("Python");
arraylist.add("JavaScript");
System.out.println("ArrayList: " + arraylist);
//删除1到3之间的元素
arraylist.removeRange(1, 3);
System.out.println("更新后的 ArrayList: " + arraylist);
}
}输出结果
ArrayList: [Java, English, Spanish, Python, JavaScript] 更新后的 ArrayList: [Java, Python, JavaScript]
removeRange()方法使用了访问修饰符protected。这意味着只能在class / package / subclass(子类)中访问它。这就是为什么Main方法在上面的示例中继承了ArrayList类的原因。
由于Main类继承了ArrayList的所有属性,因此我们可以使用Main类创建arraylist。
但是,这在Java中并不常用。相反,我们结合使用ArrayList subList()和ArrayList clear()方法。
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
//创建 ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
//添加元素到 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("更新后的 ArrayList: " + numbers);
}
}输出结果
ArrayList: [1, 2, 3, 4, 6] 更新后的 ArrayList: [1, 4, 6]
在上面的示例中,我们创建了一个名为numbers的数组列表。注意这一行,
numbers.subList(1, 3).clear();
这里,
subList(1, 3) - 返回索引1和2的元素
clear() - 删除由subList()返回的元素