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()返回的元素