Java ArrayList removeRange()方法從指定索引之間的ArrayList中刪除元素。
removeRange()方法的語法為:
arraylist.removeRange(int fromIndex, int toIndex)
removeRange()方法有兩個(gè)參數(shù)。
fromIndex -從中刪除元素的起始位置
toIndex - 刪除元素的結(jié)束位置
removeRange()方法不返回任何值。 而是刪除了一部分arraylist
arraylist的一部分包含從fromIndex開始的元素,一直擴(kuò)展到toIndex-1的元素。 也就是說,不包含toIndex處的元素
注意:如果fromIndex或toIndex超出范圍,或 toIndex < fromIndex,該方法拋出indextofboundexception。
import java.util.*;
class Main extends ArrayList<String> {
public static void main(String[] args) {
//創(chuàng)建 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);
}
}輸出結(jié)果
ArrayList: [Java, English, Spanish, Python, JavaScript] 更新后的 ArrayList: [Java, Python, JavaScript]
removeRange()方法使用了訪問修飾符protected。這意味著只能在class / package / subclass(子類)中訪問它。這就是為什么Main方法在上面的示例中繼承了ArrayList類的原因。
由于Main類繼承了ArrayList的所有屬性,因此我們可以使用Main類創(chuàng)建arraylist。
但是,這在Java中并不常用。相反,我們結(jié)合使用ArrayList subList()和ArrayList clear()方法。
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
//創(chuàng)建 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);
}
}輸出結(jié)果
ArrayList: [1, 2, 3, 4, 6] 更新后的 ArrayList: [1, 4, 6]
在上面的示例中,我們創(chuàng)建了一個(gè)名為numbers的數(shù)組列表。注意這一行,
numbers.subList(1, 3).clear();
這里,
subList(1, 3) - 返回索引1和2的元素
clear() - 刪除由subList()返回的元素