栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

根据给定条件从ArrayList中删除对象

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据给定条件从ArrayList中删除对象

您必须使用和

Iterator
来迭代
remove
迭代器(而不是列表)的功能:

Iterator<Pulse> iter = pulseArray.iterator();while (iter.hasNext()) {  Pulse p = iter.next();  if (p.getCurrent()==null) iter.remove();}

注意,迭代器#删除功能被认为是optionnal,但它
由ArrayList的迭代器来实现。

这是ArrayList.java中此具体功能的代码:

765         public void remove() {766  if (lastRet < 0)767      throw new IllegalStateException();768  checkForComodification();769 770  try {771      ArrayList.this.remove(lastRet);772      cursor = lastRet;773      lastRet = -1;774      expectedModCount = modCount;775  } catch (IndexOutOfBoundsException ex) {776      throw new ConcurrentModificationException();777  }778         }779 780         final void checkForComodification() {781  if (modCount != expectedModCount)782      throw new ConcurrentModificationException();783         }784     }

expectedModCount = modCount;
行代码就是为什么在迭代时使用它时不会抛出异常。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/440434.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号