У меня есть следующая логика для удаления неактивных пользователей в системе, поскольку мы не можем удалить строку при повторении в списке. Есть ли лучший способ справиться с этим?Каков наилучший способ удаления объектов из списка
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()' отлично работает также как [maxkar] (http: // stackoverflow.com/questions/3767087/what-is-the-best-way-to-remove-objects-from-a-list/3767175 # 3767175). –
-1 Слишком много беспорядка. Итерация в обратном направлении с помощью индекса? – abyx
@abyx: Слишком много помех? Спорно. Не делает его менее действительным. Конечно, я мог бы добавить с помощью 'Iterator.remove()' мой ответ, который выглядит более чистым, я согласен. Но я предпочел ссылаться на ответ другого человека (в равной степени хорошо). –