java迭代器迭代器功能的实现方法

  介绍

这篇文章将为大家详细讲解有关java迭代器迭代器功能的实现方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

迭代器的实现代码:

List,列表=new  ArrayList<比;(2);   ,,,list.add (“java");   ,,,list.add (“c#“);   ,,,Iterator,迭代器=list.iterator ();   ,,,while  (iterator.hasNext ()) {   ,,,,,System.out.println (iterator.next ());   ,,,}

上面的代码是java中很常见的一个迭代的功能。

于是自己也想要写一个泛型类,然后支持这种迭代的功能。

于是乎写了一个类似ArrayList的动态数组功能。

package ;      import  javax.swing.text.html.HTMLDocument;   import  java.util.ArrayList;   import  java.util.Arrays;   import  java.util.Iterator;      public  class  Gys, gy=new  Gys<在();   ,,,gys.add (5);   ,,,gys.add (45);   ,,,System.out.println (gys.get (0));   ,,,System.out.println (gys.get (1)),,,,,   ,,}   }

上面的代码怎么都没办法实现迭代器的功能,在想法下怎么都点不出来迭代器的提示;
于是只能去翻阅jdk原码。在ArrayList中看到如下的代码。

癹ava迭代器迭代器功能的实现方法"

在ArrayList中申明一个内部类Itr,并且继承Iterator这个接口,然后实现hasNext()和未来()方法。
在定义一个方法专门获取迭代器实例。

公共Iteratoriterator(){返回新Itr ();}

这才明白如何实现迭代器功能,

所以对上面的泛型代码进行改造。

package ;      import  java.util.Arrays;   import  java.util.Iterator;      public  class  Gys {      ,,,private  int ;   ,,,private  int 兰;      ,,,public  Itr (), {   ,,,,,this.point=0;   ,,,,,this.len=endIndex;   ,,,}      ,,@Override   ,,,public  boolean  hasNext (), {   ,,,,,return  point, iterator () {   ,,,return  new  Itr ();   ,,},      public 才能;T  get (int 我){   ,,,如果(i<, endIndex) {   ,,,,,return  (T), elemts[我];   ,,,}   ,,,throw  new  RuntimeException(“索引超出界限“);   ,,}         public 才能;static  void  main (String [], args), {   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

java迭代器迭代器功能的实现方法