Saltar al contenido

Java Arraylist elimina varios elementos por índice

Nuestro team de trabajo ha estado horas buscando para darle soluciones a tu duda, te brindamos la respuesta así que deseamos serte de gran ayuda.

Solución:

Una cosa que debe tener en cuenta es que cuando usa ArrayLists que están destinados a ser versátiles, más que Arrays. Puede acortar un array eliminando un índice completo, agréguele un índice y haga maravillas con ArrayLists.

Este es un problema común con las personas que no se dan cuenta, o no recuerdan, que cuando elimina un valor, el ArrayList índices (o cualquiera que sea el plural correcto) se reajustan y el ArrayList acorta

Al intentar eliminar elementos de un ArrayListsiempre debe comenzar al final de la ArrayList.

for(int x = arrayList.size() - 1; x > 0; x--)

    arrayList.remove(x);

Esto debería proporcionarle la función que está buscando. Eche un vistazo a la API de ArrayList para conocer otros métodos que pueden ayudarlo.

Utilizar Iterator.remove() para eliminar elementos durante la iteración.

for (Iterator iter = myarraylist.iterator(); iter.hasNext(); ) 
  String element = iter.next();
  if (element meets some criteria) 
    iter.remove();
  

O use el filtro de Google Guava que devuelve una vista filtrada y deja la lista original sin cambios.

Iterable filtered = Iterables.filter(myarraylist, new Predicate() 
  public boolean apply(String element) 
    return true of false based on criteria
  
);

Ten en cuenta mostrar este ensayo si te valió la pena.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *