2017-12-06 16 views
-2

so fragte ich mich, ob es richtig ist, zwei für jeden in einer Reihe zu machen. In der Welt habe ich eine ArrayList<House> und in jeder House gibt es eine ArrayList<Furniture>. Ich möchte alle Möbel in allen Häusern miteinander vergleichen (die Vergleichsmethode ist fertig). Kann ich:Java: für jeden innerhalb für jeden?

for (House h: _housesWorld) 
     for (House h2: _housesWorld) 
      i = compare(h, h2); 

Oder wenn ich nicht für jeden innerhalb eines für jeden machen kann, was kann ich alle Häuser miteinander vergleichen zu tun?

+3

Haben Sie versucht, das laufen? – litelite

+0

sollten Sie eine normale for-Schleife anstelle von foreach verwenden. –

+0

Sie können es tun, aber warum? Sie durchlaufen auch _housesWorld und Sie deklarieren eindeutig h, um den Wert in Ihrer primären ArrayList darzustellen. – prsvr

Antwort

0

wenn Sie wollen Elemente der Arraylist vergleichen Sie Schleife verschachtelte können

for(int i=0; i<_houseWorld.length;i++) 
    for(int j=1; j<_houseWorld.length;j++) 
    { 
     flag=compare(_houseWorld.get(i),_houseWorld.get(j)); 

    } 
}