Java ArrayList removeRange() 方法
removeRange() 方法用于删除指定索引之间存在的元素。
removeRange() 方法的语法为:
arraylist.removeRange(int fromIndex, int toIndex)
注:arraylist 是 ArrayList 类的一个对象。
参数说明:
- fromIndex - 索引起始位置,包含该索引位置的值
- toIndex - 索引结束位置,不包含该索引位置的值
返回值
没有返回值。
该方法仅删除了一部分动态数组元素,从 fromIndex 到 toIndex-1 的动态数组元素。也就是说不包括 toIIndex 索引位置的元素在内。
注意:如果fromIndex 或者 toIndex 索引超出范围,或者说 toIndex < fromIndex,则抛出 IndexOutOfBoundException 异常。
以下实例演示了 removeRange() 方法的使用:
实例代码
import java.util.*;
class Main extends ArrayList<String> {
public static void main(String[] args) {
// 创建一个动态数组
Main sites = new Main();
sites.add("Google");
sites.add("Haodaima");
sites.add("Taobao");
sites.add("Wiki");
sites.add("Weibo");
System.out.println("ArrayList : " + sites);
// 删除从索引值1到3的元素
sites.removeRange(1, 3);
System.out.println("删除后的 ArrayList: " + sites);
}
}
class Main extends ArrayList<String> {
public static void main(String[] args) {
// 创建一个动态数组
Main sites = new Main();
sites.add("Google");
sites.add("Haodaima");
sites.add("Taobao");
sites.add("Wiki");
sites.add("Weibo");
System.out.println("ArrayList : " + sites);
// 删除从索引值1到3的元素
sites.removeRange(1, 3);
System.out.println("删除后的 ArrayList: " + sites);
}
}
执行以上程序输出结果为:
ArrayList : [Google, Haodaima, Taobao, Wiki, Weibo] 删除后的 ArrayList: [Google, Wiki, Weibo]
removeRange() 方法是受保护的,所以如果要使用需要继承 ArrayList 类,继承后我们就可以使用 Main 类来创建一个动态数组。
removeRange() 方法不常用,我们通常可以使用 ArrayList subList() 和 ArrayList clear() 方法来实现删除元素。
实例代码
import java.util.ArrayList;
class Main {
public static void main(String[] args) {
// 创建一个整型的动态数组
ArrayList<Integer> numbers = new 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("Updated ArrayList: " + numbers);
}
}
class Main {
public static void main(String[] args) {
// 创建一个整型的动态数组
ArrayList<Integer> numbers = new 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("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() 返回的元素。