English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriales básicos de Java

Control de flujo de Java

Java array

Java orientado a objetos (I)

Java orientado a objetos (II)

Java orientado a objetos (III)

Manejo de excepciones en Java

Java Lista (List)

Java Cola (cola)

Conjuntos de Mapa de Java

Conjuntos de Java

Java entrada/salida (I/O)

Lector de Java/Writer

Temas de Java otros

Vector (Vector) de Java

En este tutorial, aprenderemos la clase Vector y cómo utilizarla. También aprenderemos las diferencias con la clase ArrayList y por qué deberíamos usarla.

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

Java向量(vector)与ArrayList

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

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

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

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

注意:由于向量(vector)不是线程安全的并且效率较低,因此建议使用ArrayList代替Vector。

创建向量(vector)

这是我们如何用Java创建向量(vector)。

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

此处,Type表示vector存储的数据类型。例如,

//创建整数类型的vector
Vector<Integer> vector = new Vector<>();
//创建字符串类型的vector
Vector<String> vector = new Vector<>();

向量(vector)方法

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

向量添加元素

  • add(element) - 向向量(vector)添加元素

  • add(index, element) - 将元素添加到指定位置

  • addAll(vector) - 将向量(vector)的所有元素添加到另一个向量(vector)

por ejemplo,

import java.util.Vector;
class Main {
    public static void main(String[] args) {
        Vector<String> mammals = new Vector<>();
        //使用add()方法
        mammals.add("Dog");
        mammals.add("Horse");
        //使用索引号
        mammals.add(2, "Cat");
        System.out.println("Vector: " + "", + mammals);
        // usar el método addAll()
        Vector<String> animals = new Vector<>();
        animals.add("Crocodile");
        animals.addAll(mammals);
        System.out.println("Nuevo Vector: " + animales);
    }
}

Resultado de salida

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

acceder a los elementos del vector

  • get(index) - devolver el elemento especificado por el índice

  • iterator() - devolver un objeto iterador para acceder a los elementos del vector en orden

por ejemplo,

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");
        // usar el método get()
        String element = animals.get(2);
        System.out.println("Elemento en la posición 2: " + element);
        // usar iterator()
        Iterator<String> iterate = animals.iterator();
        System.out.print("Vector: ");
        while(iterate.hasNext()) {
            System.out.print(iterate.next());
            System.out.print(", ");
        }
    }
}

Resultado de salida

Elemento en la posición 2: Cat
Vector: Dog, Horse, Cat,

eliminar elemento del vector

  • remove(index) - eliminar elemento desde la posición especificada

  • removeAll() - eliminar todos los elementos

  • clear() - eliminar todos los elementos. Es más eficiente que removeAll()

por ejemplo,

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 inicial: " + animales);
        //usar el método remove()
        String element = animals.remove(1);
        System.out.println("Elemento eliminado: " + element);
        System.out.println("Nuevo Vector: " + animales);
        // Usar el método clear()
        animals.clear();
        System.out.println("Vector después de clear(): " + animales);
    }
}

Resultado de salida

Vector inicial: [Perro, Caballo, Gato]
Elemento eliminado: Caballo
Nuevo Vector: [Perro, Gato]
Vector después de clear(): []

Otras métodos del vector (vector)

MétodoDescripción del contenido
set()Cambiar el elemento del vector
size()Devolver el tamaño del vector
toArray()Convertir el vector en un array
toString()Convertir el vector en una cadena
contains()

Buscar el elemento especificado en el vector y devolver un valor booleano