Tengo la siguiente lógica para eliminar usuarios inactivos en el sistema, ya que no podemos eliminar una fila mientras iteramos en la lista. ¿Hay una mejor manera de manejar esto?Cuál es la mejor manera de eliminar objetos de una lista
List<User> users = new ArrayList<User>();
List<User> removeUsers = new ArrayList<User>();
for (User user : users) {
if (!user.isActive()) {
removeUsers.add(user);
}
}
users.removeAll(removeUsers);
'Iterator.remove()' funciona bien también como [maxkar] (http: // stackoverflow.com/questions/3767087/what-is-the-best-way-to-remove-objects-from-a-list/3767175 # 3767175) señalado. –
-1 Demasiado desorden. Iterando en reversa con un índice? – abyx
@abyx: ¿demasiado desorden? Discutible. No lo hace menos válido. Claro que podría haber agregado usando 'Iterator.remove()' a mi respuesta que parece más limpia, estoy de acuerdo. Pero opté por referirme a la respuesta de otra persona (igualmente buena) en su lugar. –