Zatrzymanie działania 2 pętli

Zatrzymanie działania 2 pętli
Losiu22
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 98
0

Witam,
mam dwie pętle:

Kopiuj
 
for (int y = 0; y < mapa.size(); y++) {
			for (int x = 0; x < mapa.get(y).size(); x++) {
}
}

Poszukuję w nich konkretnego pola na mapie. Niestety pól jest dużo i wykonanie całej pętli zajmuje trochę czasu, chciałbym żeby jeśli pożądany obiekt zostanie znaleziony, obie pętle się zatrzymały.
Podobno można użyć break, ale domyślam się że jedna z pętli zostanie zatrzymana.
Jak coś takiego zrobić?

Sarrus
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2512
1
Kopiuj
boolean isFound = false;
for (int y = 0; y < mapa.size() && !isFound; y++) 
{
   for (int x = 0; x < mapa.get(y).size() && !isFound; x++) 
   {
      if (...)
      {
         isFound = true;
      }
   }
}
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
1

Przenieś to do funkcji i zrób return.

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
0

zapomniałeś napisać jaki język, w niektórych pętle można zaopatrzyć w label, a potem zrobić break z załączonym label'em, który wskazuje którą pętle przerwać.
Są też dziwne rozwiązania takie jak rzucanie i łapanie wyjątków.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.