# ArrayList durchlaufen



## PollerJava (29. Jul 2007)

Hallo,


ich lese gerade ein Buch über Entwurfsmuster und da ist eine Aufgabe drinne, wo man eine ArrayList mit einem Enumerator durchlaufen soll, 
die AdapterKlasse von Iterator in einen Enumerator habe ich geschrieben aber jetzt weiß ich nicht, wie ich das ganze bei einer ArrayList anwenden kann?

Kann mir da jemand helfen?


lg und Danke für die Antworten!!



```
import java.util.*;

public class IteratorEnum implements Enumeration
{
    private Iterator it;
    private ArrayList al = new ArrayList();
    
    public IteratorEnum(Iterator it) 
    {
        this.it = it;
    }
    
    public boolean hasMoreElements()
    {
        return it.hasNext();
    }
    
    public Object nextElement()
    {
        return it.next();
    }    
}
```


----------



## deleted (29. Jul 2007)

1. du solltest einen Iterator nutzen!
2. in der Klasse ArrayList befindet sich die geerbte Methode iterator() welche einen Iterator zurückgibt

Du kannst diesen Iterator nutzen, und brauchst keinen eigenen zu schreiben!


----------



## PollerJava (29. Jul 2007)

ja das wäre mir schon klar gewesen aber zur Übung sollte man eben eine Adapterklasse schreiben, die hab ich geschrieben, nur bei der implementierung happerts jetzt ein bisschen!?


----------



## deleted (29. Jul 2007)

```
import java.util.*;

public class IteratorEnum implements Enumeration
{
    private Iterator it;
   
    public IteratorEnum(ArrayList al)
    {
        this.it = al.iterator();
    }
   
    public boolean hasMoreElements()
    {
        return it.hasNext();
    }
   
    public Object nextElement()
    {
        return it.next();
    }   
}
```

versuch es mal so!
Dann kannst du dem Ganzen eine Referenz auf deine ArrayList übergeben.


----------



## PollerJava (29. Jul 2007)

Danke für die Antwort, ich habs jetzt so gemacht, lg



```
import java.util.*;

public class AdapterTest {
    
    public AdapterTest() 
    {}
    
    public static void main(String[] args)
    {
    ArrayList al = new ArrayList();
    al.add("Hallo");
    al.add("ich");
    al.add("bins");
    al.add("der");
    al.add("XY");
        
    IteratorEnum ie = new IteratorEnum(al.iterator());
    
    
    while( ie.hasMoreElements() )
    {
       System.out.println(ie.nextElement()); 
    }
    }
}
```


----------



## deleted (29. Jul 2007)

Ahso jetzt hab ich verstanden, was du wolltest


----------

