Método Java Vector setSize()

Java Vector Java Vector


setSize()es en JavaVectorun método importante proporcionado por la clase, utilizado para establecer el nuevo tamaño del vector. Este método puede ajustar dinámicamenteVectorla capacidad, de modo que pueda satisfacer las necesidades del programa en tiempo de ejecución.

Sintaxis del método:

public void setSize(int newSize)

Parámetros del método

Descripción de parámetros

  • newSize: Este es el único parámetro del método, que indica el tamaño que deseas establecerVectorel nuevo tamaño del Vector
  • Tipo:int(entero)
  • Función: especificaVectorel tamaño después del ajuste

Características del parámetro

  • SinewSizees mayor que el tamaño actual,Vectorse rellenará automáticamentenullcon valores en las posiciones añadidas
  • SinewSizees menor que el tamaño actual,Vectorse truncarán los elementos sobrantes
  • SinewSizees igual al tamaño actual,Vectorpermanece sin cambios

Comportamiento del método

Caso de expansión

Cuando el nuevo tamaño es mayor que el tamaño actual:

Ejemplo

Vector<String> vector = new Vector<>(Arrays.asList("A", "B", "C"));
vector.setSize(5);
// Ahora el vector contiene ["A", "B", "C", null, null]

Caso de reducción

Cuando el nuevo tamaño es menor que el tamaño actual:

Ejemplo

Vector<String> vector = new Vector<>(Arrays.asList("A", "B", "C", "D"));
vector.setSize(2);
// Ahora el vector contiene ["A", "B"]

Caso de igualdad

Cuando el nuevo tamaño es igual al tamaño actual:

Ejemplo

Vector<String> vector = new Vector<>(Arrays.asList("A", "B", "C"));
vector.setSize(3);
// El vector permanece sin cambios, todavía es ["A", "B", "C"]

Ejemplo de uso

Ejemplo básico

Ejemplo

import java.util.Vector;

public class VectorSetSizeExample {
    public static void main(String[] args) {
        // Crear un Vector inicial
        Vector<Integer> numbers = new Vector<>();
        numbers.add(10);
        numbers.add(20);
        numbers.add(30);
       
        System.out.println("Vector original: " + numbers);
       
        // Expandir el Vector
        numbers.setSize(5);
        System.out.println("Vector después de expandir: " + numbers);
       
        // Reducir el Vector
        numbers.setSize(2);
        System.out.println("Vector después de reducir: " + numbers);
    }
}

Resultado de salida:

原始 Vector: [10, 20, 30]
扩大后的 Vector: [10, 20, 30, null, null]
缩小后的 Vector: [10, 20]

Escenarios de aplicación práctica

setSize()El método es especialmente útil en los siguientes escenarios:

  1. Preasignación de espacio:: cuando sabes que necesitas almacenar una cierta cantidad de elementos, puedes preestablecer el tamaño
  2. Limpieza de espacio sobrante:: cuando ya no necesitas algunos elementos, puedes reducirVectorpara ahorrar memoria
  3. Restablecer el contenedor:: vaciar rápidamenteVectory establecer un nuevo tamaño

Ejemplo

// Ejemplo de preasignación de espacio
Vector<String> names = new Vector<>();
names.setSize(100); // Preasignar 100 posiciones

// Ejemplo de limpieza de espacio sobrante
Vector<Double> prices = new Vector<>();
// ... después de agregar muchos elementos ...
prices.setSize(10); // Conservar solo los primeros 10 elementos

// Ejemplo de restablecimiento del contenedor
Vector<Object> tempStorage = new Vector<>();
// ... después de su uso ...
tempStorage.setSize(0); // Vaciar todos los elementos

Consideraciones

Consideraciones de rendimiento

  • Llamadas frecuentessetSize()pueden causar una degradación del rendimiento, especialmente en casos de grandes cantidades de datos
  • Si necesitas ajustar el tamaño con frecuencia, considera usarensureCapacity()el método para preasignar suficiente espacio

Seguridad de hilos

  • Vectores seguro para hilos,setSize()el método también es sincronizado
  • Es seguro usarlo en entornos de subprocesos múltiples, pero puede afectar al rendimiento.

Alternativas

En el marco de colecciones de Java,ArrayListes una alternativa más moderna, pero no tienesetSize()un método directo. Si necesitas una funcionalidad similar, puedes considerar:

Ejemplo

// Usar ArrayList para implementar una funcionalidad similar
ArrayList<String> list = new ArrayList<>();
// Expandir
while (list.size() < newSize) {
    list.add(null);
}
// Reducir
while (list.size() > newSize) {
    list.remove(list.size() - 1);
}

Resumen

VectordesetSize()El método proporciona una forma directa de ajustar el tamaño del vector, ya sea para expandirlo o reducirlo. AunqueVectoren la programación Java moderna no es tanArrayListcomúnVectorcolección.

Java Vector Java Vector

Otras extensiones