Método Java Vector capacity()
capacity()El método es, en Java,Vectorun método integrado proporcionado por la clase, utilizado para devolver la capacidad (capacity) del vector actual. La capacidad se refiere al número de elementos que el vector puede almacenar sin reasignar el espacio de almacenamiento interno.
Sintaxis
public int capacity()
Valor de retorno del método
Este método devuelve unintvalor de tipo, que representa laVectorcapacidad actual del objeto.
Uso básico
Código de ejemplo
Ejemplo
public class VectorCapacityExample {
public static void main(String[] args) {
// Crear un Vector con capacidad inicial de 10
Vector<String> fruits = new Vector<>(10);
// Agregar algunos elementos
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
// Obtener la capacidad actual
int currentCapacity = fruits.capacity();
System.out.println("Capacidad actual del Vector: " + currentCapacity);
}
}
Resultado de salida
当前Vector容量: 10
Comprensión profunda
Capacidad vs tamaño de Vector
- Capacidad (Capacity): el tamaño del array interno del Vector, es decir, el número total de elementos que puede almacenar
- Tamaño (Size): el número de elementos que el Vector almacena actualmente
Ejemplo
numbers.add(1);
numbers.add(2);
System.out.println("Capacidad: " + numbers.capacity()); // Salida 5
System.out.println("Tamaño: " + numbers.size()); // Salida 2
Mecanismo de crecimiento automático de capacidad
Cuando el tamaño del Vector supera la capacidad actual, el Vector aumenta automáticamente su capacidad. De forma predeterminada, la capacidad se duplica, pero este comportamiento se puede cambiar especificando un incremento de capacidad.
Ejemplo
Vector<Integer> vec = new Vector<>(3, 2);
System.out.println("Capacidad inicial: " + vec.capacity()); // 3
vec.add(1);
vec.add(2);
vec.add(3);
vec.add(4); // Superar la capacidad inicial, crece automáticamente
System.out.println("Capacidad después del crecimiento: " + vec.capacity()); // 5 (3 + 2)
Mejores prácticas
- Establecer adecuadamente la capacidad inicial: si se puede estimar el número de elementos, establecer una capacidad inicial adecuada puede reducir la sobrecarga de rendimiento causada por la expansión automática
- Evitar expansiones frecuentes: las expansiones frecuentes afectan el rendimiento, especialmente al procesar grandes cantidades de datos
- **Usar trimToSize() oportunamente**: si estás seguro de que no se agregarán más elementos, puedes usar
trimToSize()para ajustar la capacidad al tamaño actual, ahorrando memoria.
Ejemplo
// Agregar elementos...
names.trimToSize(); // Ajustar la capacidad al tamaño actual
Preguntas frecuentes
P1: ¿Cuál es la diferencia entre capacity() y size()?
capacity()Devuelve el número total de elementos que el Vector puede almacenar actualmente.size()Devuelve el número de elementos que el Vector almacena realmente en la actualidad.
P2: ¿Por qué la capacidad de mi Vector es mucho mayor que la cantidad real de elementos?
Esto se debe al mecanismo de expansión automática del Vector. Cuando el Vector necesita expandirse, agrega suficiente espacio para evitar expansiones frecuentes, lo que puede hacer que la capacidad sea mucho mayor que la cantidad de elementos almacenados actualmente.
P3: ¿Cómo reducir la capacidad de un Vector?
Se puede usartrimToSize()el método para ajustar la capacidad del Vector al tamaño actual:
vector.trimToSize();
Resumen
capacity()El método es uno de los métodos más importantes para comprender y usar Java Vector. Gestionando razonablemente la capacidad del Vector, se puede mejorar el rendimiento del programa y optimizar el uso de la memoria. Recuerda que la capacidad es el tamaño del espacio de almacenamiento interno del Vector, mientras que el tamaño es la cantidad de elementos realmente almacenados.
Java Vector