如何创建永无止境的迭代器?
我只是想知道无限期迭代集合的最简单方法是什么,即当它到达末尾时,它调用第一个对象。我假设这不是Java中已经预定义的函数,所以只是寻找在Java中实现它的最简单方法。next();
我只是想知道无限期迭代集合的最简单方法是什么,即当它到达末尾时,它调用第一个对象。我假设这不是Java中已经预定义的函数,所以只是寻找在Java中实现它的最简单方法。next();
在优秀的Google Collections库中有一种方法可以做到这一点:
Set<String> names = ...;
Iterable<String> infinite = Iterables.cycle(names);
(我不能强烈推荐谷歌收藏库。它摇晃得很厉害。当我在谷歌工作时,我有偏见,但我认为几乎每个编写Java的谷歌员工都会告诉你这些集合是多么有用。
Iterator it = mylist.iterator();
while (it.hasNext())
{
MyType t = (MyType)it.next();
// do something
if (!it.hasNext())
it = mylist.iterator();
}