ArrayListとIteratorsを初めて使用しました。私はArrayList内でArrayListの簡単な実装を試していました。イテレータをJavaで2回使用する
私は、メモリと呼ばれる多くのArrayListsを持つbugというArrayListを作成しました。メモリArrayListは単なるランダムな整数です。これは何も印刷されません
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Random;
public class TestList {
public static void main(String args[]){
int N=5;
//outer ArrayList
ArrayList<ArrayList> bug = new ArrayList<ArrayList>();
for(int i=0 ; i<N ; i++)
{
//inner ArrayList
ArrayList memory = new ArrayList();
bug.add(memory);
}
Iterator<ArrayList> outer = bug.iterator();
while(outer.hasNext())
{
ArrayList memory = outer.next();
memory.add(new Random().nextInt(10));
}
while(outer.hasNext())
{
ArrayList memory = outer.next();
Iterator inner = memory.iterator();
System.out.println(inner.next());
}
}
}
: は、ここでは、コードです。しかし、outer01のようなバグのための別のイテレータ(表示目的用)を作成すると、コードが機能します。
Iterator<ArrayList> outer01 = bug.iterator();
while(outer01.hasNext())
{
ArrayList memory = outer01.next();
Iterator inner = memory.iterator();
System.out.println(inner.next());
}
だから私の質問はこれである - それはアレイリストの最後に到達したとき、イテレータは「切れ」そしてそうならば、リストの先頭に戻ってそれを送信するためにどのような方法があるのでしょうか??
ありがとうございました。