📜  Java中的向量subList()方法(1)

📅  最后修改于: 2023-12-03 15:16:31.907000             🧑  作者: Mango

Java中的向量subList()方法介绍

Java中的向量(Vector)是一个动态数组,它可以自动增长和减小,是一个非常常用的集合类。其中,向量的subList()方法可以截取一个向量的子集合,具体介绍如下:

subList()方法定义
public List<E> subList(int fromIndex, int toIndex)
subList()方法参数说明
  • fromIndex:要截取的子集合的起始下标,从0开始计数。
  • toIndex:要截取的子集合的结束下标,不包含该位置的元素。
subList()方法返回值

subList()方法返回一个List类型的子集合,包含了原向量中的某一段元素。该子集合是原向量的一个视图,即对该子集合进行增加、删除、修改等操作将影响原向量。

subList()方法实例

下面是一个使用subList()方法的示例代码:

import java.util.Vector;
import java.util.List;

public class SubListDemo {
    public static void main(String[] args) {
        Vector<Integer> vector = new Vector<Integer>();
        vector.add(1);
        vector.add(2);
        vector.add(3);
        vector.add(4);

        List<Integer> subList = vector.subList(1, 3);
        System.out.println(subList); // [2, 3]

        subList.set(1, 5);
        System.out.println(vector); // [1, 2, 5, 4]

        subList.add(6);
        System.out.println(vector); // [1, 2, 5, 6, 4]

        subList.remove(1);
        System.out.println(vector); // [1, 2, 6, 4]
    }
}

在上述示例里,我们创建了一个向量并添加了四个整数,然后使用subList()方法截取了从第二个元素到第四个元素的子集合,打印出了该子集合。接着,我们试图修改该子集合的第二个元素,增加一个新元素和删除一个元素,然后打印原向量,看看它们的变化。可以看到,每一次操作都会影响原向量。

注意事项
  • subList()方法返回的子集合是原向量的一个视图,即对该子集合进行增加、删除、修改等操作将影响原向量。
  • 如果尝试在子集合截取的范围之外修改子集合的元素,将抛出IndexOutOfBoundsException异常。
  • 对原向量进行结构性修改,如添加、删除、插入等操作,都将使得该向量的迭代器失效。尝试使用失效的迭代器将抛出ConcurrentModificationException异常。
  • 由于向量线程安全,subList()方法的返回值也是线程安全的。