Java Vector removeRange()方法及示例
Java中 Vector 的 removeRange() 方法用于从一个Vector对象中移除指定范围内的所有元素。它将任何后续的元素移到左边。这个调用缩短了Vector的(toIndex-fromIndex)元素,其中toIndex是结束索引,fromIndex是开始索引,所有的元素将被删除。(如果toIndex==fromIndex,这个操作没有效果)
语法:
removeRange(int fromIndex, int toIndex)
参数: 有两个参数:
- fromIndex: 要删除的索引元素的起始索引。
- toIndex: 在[fromIndex-toIndex]范围内,所有的元素都被移除。
返回值: 该方法不返回任何值。它只删除指定范围内的所有元素。
异常: 如果fromIndex或toIndex超出范围(fromIndex = size()或toIndex > size()或toIndex < fromIndex),该方法会抛出 IndexOutOfBoundsException
示例1 :
// Java program to understand
// about vector.removeRange() function
import java.util.*;
// sice vector removeRange() method is protected
// Therefore Vector is inherited
public class GFG extends Vector<String> {
// main method
public static void main(String[] args)
{
// creating GFG object
GFG v = new GFG();
// inserting elements into the vector
v.add("Geeks");
v.add("for");
v.add("Geeks");
v.add("Ankit");
v.add("Mishra");
v.add("MNNIT");
// printing vector before deleting
System.out.println("Vector before calling"
+ " removeRange(): " + v);
// calling removeRange() function
v.removeRange(1, 3);
// printing after removeRange() called
System.out.println("Vector after calling"
+ " removeRange(1, 3): " + v);
}
}
//因为vector removeRange()方法是被保护的
//所以Vector被继承了
输出
Vector before calling removeRange(): [Geeks, for, Geeks, Ankit, Mishra, MNNIT]
Vector after calling removeRange(1, 3): [Geeks, Ankit, Mishra, MNNIT]
例2 :
// Java program to understand
// about vector.removeRange() function
import java.util.*;
// sice vector removeRange() method is protected
// Therefore Vector is inherited
public class GFG extends Vector<String> {
// main method
public static void main(String[] args)
{
// creating GFG object
GFG v = new GFG();
// inserting elements into the vector
v.add("Geeks");
v.add("for");
v.add("Geeks");
v.add("Ankit");
v.add("Mishra");
v.add("MNNIT");
// printing vector before deleting
System.out.println("Vector before calling "
+ "removeRange(): "
+ v);
// calling removeRange() function
try {
// It will generate Runtime Error
v.removeRange(1, 16);
// printing after removeRange() called
System.out.println("Vector after "
+ "calling removeRange(1, 3): "
+ v);
}
catch (Exception e) {
System.out.println(e);
}
}
}
输出
Vector before calling removeRange(): [Geeks, for, Geeks, Ankit, Mishra, MNNIT]
java.lang.ArrayIndexOutOfBoundsException
注意: 强烈建议,如果我们想在任何类中调用removeRange()方法,那么该类必须直接或间接地扩展Vector类,否则我们将得到编译错误: Method removeRange()具有受保护的访问权限。
极客教程