Java ArrayList removeRange()方法从指定索引之间的ArrayList中删除元素。
removeRange()方法的语法为:
arraylist.removeRange(int fromIndex, int toIndex)
removeRange()参数
removeRange()方法有两个参数。
fromIndex -从中删除元素的起始位置
toIndex - 删除元素的结束位置
removeRange()返回值
removeRange()方法不返回任何值。 而是删除了一部分arraylist
arraylist的一部分包含从fromIndex开始的元素,一直扩展到toIndex-1的元素。 也就是说,不包含toIndex处的元素
注意:如果fromIndex或toIndex超出范围,或 toIndex < fromIndex,该方法抛出indextofboundexception。
示例1:Java ArrayList removeRange()
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()方法。
示例2:删除多个元素
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()返回的元素