Método Java Vector setSize()
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: especifica
Vectorel tamaño después del ajuste
Características del parámetro
- Si
newSizees mayor que el tamaño actual,Vectorse rellenará automáticamentenullcon valores en las posiciones añadidas - Si
newSizees menor que el tamaño actual,Vectorse truncarán los elementos sobrantes - Si
newSizees 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.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.setSize(2);
// Ahora el vector contiene ["A", "B"]
Caso de igualdad
Cuando el nuevo tamaño es igual al tamaño actual:
Ejemplo
vector.setSize(3);
// El vector permanece sin cambios, todavía es ["A", "B", "C"]
Ejemplo de uso
Ejemplo básico
Ejemplo
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:
- Preasignación de espacio:: cuando sabes que necesitas almacenar una cierta cantidad de elementos, puedes preestablecer el tamaño
- Limpieza de espacio sobrante:: cuando ya no necesitas algunos elementos, puedes reducir
Vectorpara ahorrar memoria - Restablecer el contenedor:: vaciar rápidamente
Vectory establecer un nuevo tamaño
Ejemplo
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 frecuentes
setSize()pueden causar una degradación del rendimiento, especialmente en casos de grandes cantidades de datos - Si necesitas ajustar el tamaño con frecuencia, considera usar
ensureCapacity()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
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