脚本宝典收集整理的这篇文章主要介绍了Java知识点总结(Java容器-Iterator),脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
Java知识点总结(Java容器-iterator)
@(Java知识点总结)[Java, Java容器]
ITerator
Iterator对象称作迭代器,用于方便地实现对容器内元素的遍历操作
Iterator接口定义如下:
- boolean hasNext(); //判断是否有元素没有被遍历
- Object next(); //返回游标当前位置的元素并将游标移动到下一个位置
- void remove(); //删除游标左面的元素,在执行完next之后该操作只能执行一次
迭代器的使用
HashSet set = new HashSet(); set.add("1" ); set.add("2" ); set.add("3" ); /*Iterator it = set.iterator(); while (it.hasNext()) { String obj = (String) it.next(); System.out.PRintln(obj); }*/ for (Iterator it = set.iterator(); it.hasNext();) { String obj = (String) it.next(); System.out.println(obj); }
Iterator实现
/** * Iterator实现原理 */ private class Itr implements Iterator<E> { int cursor = 0; //游标 int lastRet = -1; //上一次遍历元素的下标 public boolean hasNext() { return cursor != size(); } public E next() { checkForComodification(); try { int i = cursor; E next = get(i); lastRet = i; cursor = i + 1; return next; } catch (IndexOutOfBoundsException e) { checkForComodification(); throw new NoSuchElementException(); } } public void remove() { if (lastRet < 0) throw new IllegalStateException(); checkForComodification(); try { AbstractList.this.remove(lastRet); if (lastRet < cursor) cursor--; lastRet = -1; expectedModCount = modCount; } catch (IndexOutOfBoundsException e) { throw new ConcurrentModificationException(); } } }
以上是脚本宝典为你收集整理的Java知识点总结(Java容器-Iterator)全部内容,希望文章能够帮你解决Java知识点总结(Java容器-Iterator)所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。