Por Chaitanya Singh | Filed Under: Colecciones de Java
El método trimToSize() se utiliza para la optimización de la memoria. Recorta la capacidad de ArrayList al tamaño actual de la lista. Por ejemplo, una lista de arreglos tiene una capacidad de 15 pero sólo hay 5 elementos en ella, llamar al método trimToSize() en esta lista de arreglos cambiaría la capacidad de 15 a 5.
public void trimToSize()
Ejemplo
Aquí he definido el ArrayList de la capacidad 50. Después de añadir 10 elementos llamé al método trimToSize() que habría reducido la capacidad de 50 a 10 (tamaño actual de la lista de arreglos).
paquete beginnersbook.com;importar java.util.ArrayList;public class TrimExample { public static void main(String args[])) { ArrayList<Integer> arraylist = new ArrayList<Integer>(50); arraylist.add(1); arraylist.add(2); arraylist.add(3); arraylist.add(4); arraylist.add(5); arraylist.add(6); arraylist.add(7); arraylist.add(1); arraylist.add(1); arraylist.add(1); arraylist.trimToSize(); System.out.println(arraylist); }}
Salida:
[1, 2, 3, 4, 5, 6, 7, 1, 1, 1]
- Cómo clasificar un TreeMap por su valor en Java
- Eliminar todos los elementos de Vector en Java – Ejemplo
- Interfaz de cola de prioridades en las colecciones de Java
- Eliminar el elemento vectorial – Ejemplo de Java
- Eliminar el mapeo de valores clave del ejemplo de TreeMap
- Diferencia entre Iterator y ListIterator en java
Comentarios
- LathysaysaysDecember 11, 2015 at 11:18 AMHi, I ranked your code. Imprime el mismo resultado tanto si se añade como si se quita el método trimToSize(). Incluso he comprobado el tamaño de la lista de arreglos con y sin el método trimToSize() pero en ambos casos sigue siendo el mismo. ¿Puedes por favor comprobar y actualizar.ReplyTonysays10 de octubre de 2017 a las 6:14 PM@Lathy, Hay una diferencia entre el tamaño y la capacidad de una lista de arreglos. El tamaño es el número de elementos de datos almacenados en una Lista de Matriz. La capacidad es la longitud del Array que se utiliza internamente en la Lista de Array. Por razones obvias, la Capacidad siempre se mantiene mayor o igual al Tamaño. El método trimToSize() se utiliza en situaciones en las que se sabe que no es probable que el tamaño de la ArrayList aumente y no se desea desperdiciar más espacio de memoria. Busca la implementación de ArrayList para más información.
- Sudarshansays13 de abril de 2018 a la 1:25 PMGood Day Guys, ¿Podemos restringir el tamaño de la lista de arreglos? Por ejemplo: debo añadir sólo 10 objetos a la lista de arreglos. ¿Por qué quieres hacer eso? Podrías haber usado array en lugar de ArrayList si quieres limitar el tamaño, pero si quieres conseguirlo en ArrayList entonces tienes que limitar el tamaño por ti mismo en el código, algo así funcionaría:ArrayList list = new ArrayList();if(list.get(10) != null) //Si existe un 11º elemento{ throw new ArrayIndexOutOfBoundsException();}Reply