Java "paralleler" Zugriff auf zwei Listen?

midnightshadow

Cadet 3rd Year
Registriert
März 2005
Beiträge
33
hallo,

ich habe hier zwei Listen auf dessen Elemente ich, der Reihe nach, parallel zugreifen möchte, also auf das 1. Element der einen Liste und auf das 1. Element der anderen Liste,dann auf das 2. Element der einen Liste und auf das 2. Element der anderen Liste, usw. Ich weis jetzt aber nicht wie man das möglichst elegant lösen würde.

ich habe bis jetzt dieses hier:
Code:
Iterator<Foo> it1 = Liste1.iterator();
Iterator<Bar> it2 = Liste2.iterator();

while (it1.hasNext() && it2.hasNext()) {
     Foo f = it1.next();
     Bar b = it2.next();
 [...]
}

Dann gibt es aber noch die Möglichkeit dass Liste1 um ein Element länger ist als Liste2, dies habe ich jetzt über eine einfache if-Abfrage geregelt.
Gibt es da noch eine schönere Möglichkeit, oder ist das so schon gut?

mfg
 
hmmm und wenn man für jede Liste eine eigene While-Schleife nimmt?

Achso, du möchtest in der Schleife auf jeweils auf Elemente beider Listen zugreifen?
hmmm
 
Zuletzt bearbeitet: (Korrektur)
CoolHandLuke schrieb:
hmmm und wenn man für jede Liste eine eigene While-Schleife nimmt?

Achso, du möchtest in der Schleife auf jeweils auf Elemente beider Listen zugreifen?
hmmm

ja, ich muss abwechselnd auf die Elemente der Listen zugreifen, aber eben immer auf die Elemente mit dem "gleichen Index".

Boron schrieb:
Ich finde das schon elegant genug :).
na dann ist gut, danke

mfg
 
Nun ja, man könnte ja versuchen vorher an die Listenlänge zu kommen, und den vergleichen, und dann bis zum kleineren der beiden durchiterieren...

Ich weiß nur nicht ob der Iterator eine Längen-Eigenschaft besitzt...

Edit: So wie es aussieht nicht, also geht es eigentlich nicht wirklich eleganter...
 
Der Iterator hat keine Längeneigenschaft aber jede AbstractCollection (und damit jede AbstractList!) muss size() implementieren. Von daher geht das schon!
 
Zurück
Oben