Anzahl aller gefüllten Arrays aufzählen in Java?
Wie lautet die Syntax zur Aufzählung der gefüllten Arrays in Java?
Beispiel:
int[ ] array = new int[4];
array[0] = 3;
Die restlichen bleiben leer und man möchte auf die Konsole, die Anzahl der gefüllten Arrays, anzeigen. (Nur die Anzahl nicht den Wert!)
3 Antworten
int number = 0;
for(int i : array){
If(i != 0){
number++;
}
}
Erst ein mal ist array hier das Array, nicht die einzelnen Elemente des Arrays. Die einzelnen Elemente des Arrays werden elemente genannt.
Was du hier fragst, lässt sich nicht heraus finden. Standardmäßig werden in einem Array alle Werte mit 0 oder dem Äquivalent dazu initialisiert (beispielsweise null für Objekte oder false bei booleans). Du könntest also schauen, wie viele Elemente deines Arrays ungleich diesem Initialwert sind. Es kann aber auch genau so gut sein, dass jemand an irgend eine Arrayposition diesen Initialwert erneut schreibt. Damit wäre der Wert zwar "gefüllt", aber würde in deriner Zählung nicht mit erfasst werden. Es gibt also keinen Weg, dies ohne Hilfsmethoden oder -arrays reion anhand von "array" zu erreichen.
In dem Fall wäre die Anzahl 4.
Das liegt daran, dass Variablen und Arrayfelder deren Datentyp ein primitiver ist (int, long, byte, etc.) niemals leer sind, da sie gar nicht leer sein können.
Du könntest aber anstelle von int den Typ Integer nehmen, dann haben die leeren Felder den Wert null.