Wrong :
List<Integer> removeEvents = new ArrayList<>();
ToServerEvent event;
for (int i = 0; i < mList.size(); i++) {
event = mList.get(i);
if (! event.getClass().equals(EmergencyToEvent.class.getSimpleName())) {
removeEvents.add(i);
}
}
for (int j = 0; j < removeEvents.size(); j++) {
mList.remove(removeEvents.get(j));
}
Right :
Iterator<T> iter = mList.iterator();
ToServerEvent event;
while (iter.hasNext()) {
event = iter.next();
if (! event.getFromClass().getSimpleName().equals(EmergencyFromEvent.class.getSimpleName())) {
iter.remove();
}
}
Reference:http://stackoverflow.com/questions/13099654/how-to-remove-data-from-linkedlist-in-java
沒有留言:
張貼留言