我正在写一个非常简单的世界模拟器。人们每走一步,都会变老,一旦达到最大年龄,他们就会死亡。我已经设法让人们死亡并将他们从ArrayList
移除。但是,我想显示在每个时间步骤中有哪些人死亡(以便从ArrayList
中删除哪些元素),但是我不知道该怎么做。这是我的代码:
for(Iterator<Person> personIterator = persons.iterator(); personIterator.hasNext();) {
Person person = personIterator.next();
if (person.getAge() >= Person.MAX_AGE){
personIterator.remove();
}
}
最佳答案
您可以将删除的元素累积到另一个集合中,然后返回/打印/不管它是什么。例如。:
List<Person> deaths = new LinkedList<>();
for(Iterator<Person> personIterator = persons.iterator(); personIterator.hasNext();) {
Person person = personIterator.next();
if (person.getAge() >= Person.MAX_AGE) {
deaths.add(person);
personIterator.remove();
}
}
关于java - 显示哪些元素已从Arraylist中删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34698982/