# Effektive true/false Überprüfung eines 2D arrays



## Mustang123 (29. Jun 2014)

Schon wieder ich 

Aber kein Code, nur eine Frage. Gibt es effektivere Methoden ein 2D boolean Array auf true bzw false Einträge zu überprüfen, als eine for schleife drüberlaufen zu lassen? Das problem ist nämlich dass das Feld sehr groß ist und ich es sehr oft checken muss (es ist eine Abbruchbedingung für eine Rekursion). 

Als ausgabe reicht wohl ein true falls im array mindestens ein true ist. Nur google spuckt dazu nichts brauchbares aus.


----------



## JCODA (29. Jun 2014)

Bist du der Ersteller des 2D boolean Arrays? Falls ja, vielleicht kannst du das Array durch ein BitSet (Java Platform SE 7 ) ersetzen?


----------



## Thallius (29. Jun 2014)

Ich verstehe nicht ganz das Problem. Wenn du nur testen willst ob irgendein Eintrag in dem Array false ist um false als Ergebnis zu haben, dann brauchst du doch gar kein Array. Dann solltest du nur ein Flag haben das du eben initial auf true setzt und an der Stelle wo du im Moment deine Einträge in das Array schreibst, fragst du einfach ab ob der nächste Eintrag false ist und wenn ja änderst du das Flag auf false. 
Wenn du die Anzahl von true und false in dem Array brauchst, dann machst du statt dem Array eben zwei Ints und zählst immer das eine oder andere hoch.

Ich sehe keinen wirklich Anwendungsfall für Dein Array.

Gruß

Claus


----------



## Mustang123 (29. Jun 2014)

Thallius hat gesagt.:


> Ich verstehe nicht ganz das Problem. Wenn du nur testen willst ob irgendein Eintrag in dem Array false ist um false als Ergebnis zu haben, dann brauchst du doch gar kein Array. Dann solltest du nur ein Flag haben das du eben initial auf true setzt und an der Stelle wo du im Moment deine Einträge in das Array schreibst, fragst du einfach ab ob der nächste Eintrag false ist und wenn ja änderst du das Flag auf false.
> Wenn du die Anzahl von true und false in dem Array brauchst, dann machst du statt dem Array eben zwei Ints und zählst immer das eine oder andere hoch.
> 
> Ich sehe keinen wirklich Anwendungsfall für Dein Array.
> ...



Ich habe eine recht konfuse Rekursion die quasi im zickzack quer über ein Bild läuft. Der 2D array dient nur dazu zu überprüfen ob jedes pixel schonmal bearbeitet wurde, was bei true die abbruchbedingung liefert. 

Ich hab das jetzt mit der flag Methode gemacht und ganz am Ende noch einmal mit der for schleife gescannt.


----------

