varios una repetidos remover remove objetos metodo linkedlist limpiar eliminar elementos elemento coleccion array java data-structures arraylist

una - Eliminando el último objeto de ArrayList en Java



metodo remove arraylist java (1)

Consulte la documentación de ArrayList#remove(int) , como se ArrayList#remove(int) en la siguiente sintaxis:

list.remove(list.size() - 1)

Así es como se implementa. elementData realiza una búsqueda en la matriz de respaldo (por lo que puede cortarla de la matriz), que debe ser de tiempo constante (ya que la JVM conoce el tamaño de una referencia de objeto y el número de entradas que puede calcular la compensación), y numMoved es 0 para este caso:

public E remove(int index) { rangeCheck(index); // throws an exception if out of bounds modCount++; // each time a structural change happens // used for ConcurrentModificationExceptions E oldValue = elementData(index); int numMoved = size - index - 1; if (numMoved > 0) System.arraycopy(elementData, index+1, elementData, index, numMoved); elementData[--size] = null; // Let gc do its work return oldValue; }

Quiero eliminar el último objeto de una ArrayList rápidamente.

Sé que remove(Object O) toma O(n) en ArrayList , pero me pregunto si es posible hacerlo en tiempo constante ya que solo quiero eliminar el último objeto.