迭代时从集合中删除元素
AFAIK有两种方法:
迭代集合的副本
使用实际集合的迭代器
例如,
List<Foo> fooListCopy = new ArrayList<Foo>(fooList);for(Foo foo : fooListCopy){ // modify actual fooList}
和
Iterator<Foo> itr = fooList.iterator();while(itr.hasNext()){ // modify actual fooList using itr.remove()}
是否有任何理由偏好一种方法而不是另一种方法(例如,由于可读性的简单原因,更喜欢第一种方法)?
慕运维8079593
小唯快跑啊
万千封印
相关分类