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

Java 向量

Java 向量

在本教程中,我们将学习 Vector 类以及如何使用它。我们还将了解它与 ArrayList 类有何不同,以及为什么我们应该使用数组列表。

Vector 类是 List 的实现 接口,允许我们创建类似于 ArrayList 类的可调整大小的数组。


Java Vector vs. ArrayList

在 Java 中,ArrayListVector 实现 List 接口并提供相同的功能。但是,它们之间存在一些差异。

Vector 类同步每个单独的操作。这意味着每当我们想要对向量执行一些操作时,Vector 类自动对该操作应用锁。

这是因为当一个线程正在访问一个向量,同时另一个线程试图访问它时,一个名为 ConcurrentModificationException 的异常 生成。因此,每次操作都连续使用锁会降低向量的效率。

但是,在数组列表中,方法是不同步的。相反,它使用 Collections.synchronizedList() 同步整个列表的方法。

注意: 推荐使用ArrayList 代替 Vector 因为向量不是线程安全的并且效率较低。


创建向量

以下是我们如何在 Java 中创建向量。

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

在这里,类型 表示链表的类型。例如,

// create Integer type linked list
Vector<Integer> vector= new Vector<>();

// create String type linked list
Vector<String> vector= new Vector<>();

向量方法

Vector 类还提供了 List 的可调整大小的数组实现 接口(类似于ArrayList 班级)。一些 Vector 方法是:


向向量添加元素

例如,

import java.util.Vector;

class Main {
    public static void main(String[] args) {
        Vector<String> mammals= new Vector<>();

        // Using the add() method
        mammals.add("Dog");
        mammals.add("Horse");

        // Using index number
        mammals.add(2, "Cat");
        System.out.println("Vector: " + mammals);

        // Using addAll()
        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]

访问向量元素

例如,

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");

        // Using get()
        String element = animals.get(2);
        System.out.println("Element at index 2: " + element);

        // Using iterator()
        Iterator<String> iterate = animals.iterator();
        System.out.print("Vector: ");
        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

输出

Element at index 2: Cat
Vector: Dog, Horse, Cat,

删除向量元素

例如,

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("Initial Vector: " + animals);

        // Using remove()
        String element = animals.remove(1);
        System.out.println("Removed Element: " + element);
        System.out.println("New Vector: " + animals);

        // Using clear()
        animals.clear();
        System.out.println("Vector after clear(): " + animals);
    }
}

输出

Initial Vector: [Dog, Horse, Cat]
Removed Element: Horse
New Vector: [Dog, Cat]
Vector after clear(): []

其他向量方法

方法 说明
set() 改变向量的一个元素
size() 返回向量的大小
toArray() 将向量转换为数组
toString() 将向量转换为字符串
contains() 在向量中搜索指定元素并返回布尔结果

java

  1. Java 运算符
  2. Java 评论
  3. Java if...else 语句
  4. Java for-each 循环
  5. Java break 语句
  6. Java 字符串
  7. Java 接口
  8. Java 匿名类
  9. Java try-with-resources
  10. Java 注释
  11. Java 断言
  12. Java 8 - 快速指南