Java知识点总结(Java容器-Iterator)

发布时间:2019-11-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Java知识点总结(Java容器-Iterator)脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Java知识点总结(Java容器-iterator)

@(Java知识点总结)[Java, Java容器]

ITerator

Iterator对象称作迭代器,用于方便地实现对容器内元素的遍历操作
Iterator接口定义如下:

  • boolean hasNext(); //判断是否有元素没有被遍历
  • Object next(); //返回游标当前位置的元素并将游标移动到下一个位置
  • void remove(); //删除游标左面的元素,在执行完next之后该操作只能执行一次

Java知识点总结(Java容器-Iterator)

迭代器的使用

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,请注明来意。