自定义一个迭代器

Posted 眼泪笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自定义一个迭代器相关的知识,希望对你有一定的参考价值。

package cn.itcast.jdk15;

import java.util.Iterator;

//自定一个类使用增强for循环
class MyList implements Iterable<String>{

Object[] arr = new Object[10];

int index = 0 ; //当前的指针

public void add(Object o){
arr[index++] = o; // 1
}

public int size(){
return index;
}

@Override
public Iterator<String> iterator() {


return new Iterator<String>() {

int cursor = 0;

@Override
public boolean hasNext() {
return cursor<index;
}

@Override
public String next() {
return (String) arr[cursor++];
}

@Override
public void remove() {

}
};
}
}

public class Demo3 {

public static void main(String[] args) {
MyList list = new MyList();
list.add("张三");
list.add("李四");
list.add("王五");

for(String item :list){
System.out.println(item);
}



}

}

以上是关于自定义一个迭代器的主要内容,如果未能解决你的问题,请参考以下文章

什么是迭代器,Python迭代器及其用法

自定义迭代器实现导致内存泄漏

通过Lua迭代器自定义实现对c#集合的遍历

Apex 中的自定义迭代器

自定义迭代器:比如输入奇数项,反向迭代等

c++为自定义矩阵类实现迭代器