亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> java

深入理解 Java Vector:用法、特性及与 ArrayList 的对比

深入理解 Java Vector

本指南详细讲解 Java Vector 类、其核心方法,以及它与 ArrayList 的区别。了解何时应选择 Vector 以获得线程安全,并掌握性能考量。

Vector 类实现了 List 接口,提供了一个可调整大小的数组,功能类似 ArrayList。但与 ArrayList 不同,Vector 的每个修改操作都经过同步,这使其天然具备线程安全性,但在单线程场景下可能导致性能下降。


Java Vector 与 ArrayList 的对比

ArrayList 和 Vector 都提供动态数组,但它们在并发处理上存在关键差异:

由于逐操作加锁,Vector 在多线程环境下可能产生额外开销;而当不需要线程安全时,ArrayList 通常性能更优。

建议: 大多数应用首选 ArrayList。仅在遗留代码要求或需要内置同步而不想额外包装时,才使用 Vector。


创建 Vector

可使用泛型实例化 Vector:

Vector<Type> vector = new Vector<>();

示例:

// Integer 类型的 Vector
Vector<Integer> numbers = new Vector<>();
// String 类型的 Vector
Vector<String> words = new Vector<>();

Vector 的核心方法

Vector 类提供完整的列表操作,与 ArrayList 基本一致。常用方法包括:


向 Vector 添加元素

示例:

import java.util.Vector;
class Main {
    public static void main(String[] args) {
        Vector<String> mammals = new Vector<>();
        mammals.add("Dog");
        mammals.add("Horse");
        mammals.add(2, "Cat");
        System.out.println("Vector: " + mammals);
        Vector<String> animals = new Vector<>();
        animals.add("Crocodile");
        animals.addAll(mammals);
        System.out.println("New Vector: " + animals);
    }
}

输出

Vector: [Dog, Horse, Cat]
New Vector: [Crocodile, Dog, Horse, Cat]

访问 Vector 元素

示例:

import java.util.Iterator;
import java.util.Vector;
class Main {
    public static void main(String[] args) {
        Vector<String> animals = new Vector<>();
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");
        String element = animals.get(2);
        System.out.println("索引 2 处的元素: " + element);
        Iterator<String> iter = animals.iterator();
        System.out.print("Vector: ");
        while (iter.hasNext()) {
            System.out.print(iter.next() + ", ");
        }
    }
}

输出

索引 2 处的元素: Cat
Vector: Dog, Horse, Cat, 

从 Vector 移除元素

示例:

import java.util.Vector;
class Main {
    public static void main(String[] args) {
        Vector<String> animals = new Vector<>();
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");
        System.out.println("初始 Vector: " + animals);
        String removed = animals.remove(1);
        System.out.println("被移除的元素: " + removed);
        System.out.println("新 Vector: " + animals);
        animals.clear();
        System.out.println("clear() 后的 Vector: " + animals);
    }
}

输出

初始 Vector: [Dog, Horse, Cat]
被移除的元素: Horse
新 Vector: [Dog, Cat]
clear() 后的 Vector: []

Vector 的其他常用方法

方法说明
set(int index, E element)替换指定位置的元素
size()返回元素数量
toArray()转换为数组
toString()返回字符串表示
contains(Object o)判断是否包含指定元素

java

  1. 精通 Java 运算符:类型、语法与实战示例
  2. Java 注释:类型、用法与最佳实践
  3. 精通 Java if…else:控制流全解析
  4. 精通 Java 增强 for 循环:语法、示例与最佳实践
  5. Java break 语句:用法、时机与标签 break 详解
  6. 精通 Java 字符串:创建、方法与最佳实践
  7. 精通 Java 接口:概念、实现与最佳实践
  8. 精通 Java 匿名内部类:定义、语法与实战示例
  9. 精通 Java Try-With-Resources:自动资源管理详解
  10. Java 注解详解:类型、放置位置与实战示例
  11. Java 断言实战指南:尽早发现 Bug 与保障代码可靠性
  12. Java 8 速查手册:核心新特性、语法、API 与最佳实践一站式参考