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("qianmu"); 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, Runoob, 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); } }
执行以上程序输出结果为:
ArrayList: [1, 2, 3, 4, 6] Updated ArrayList: [1, 4, 6]
在以上实例中,我们创建了一个名为 numbers 的动态数组。
注意这些表达式:
numbers.subList(1, 3).clear();
- subList(1, 3) - 返回索引值为 1 和 2 的元素。
- clear() - 删除由 subList() 返回的元素。