Funktion wie array.Länge, die nicht NULL Elemente?
TreeNode[] children = grid[row][col].getChildren();
Möchte ich eine einfache Funktion, die mir sagen kann, wie viele Objekte sind in diesem array? getChildren()
zurückkehren wird, ein Objekt von der Größe nicht größer als 4 ist, zum Beispiel:
children[0] = null;
children[1] = TreeNode Object
children[2] = null;
children[3] = null;
- So würden Sie wollen, dass
children.mySizeMethod()
zurück 4 oder 1 (oder etwas anderes auch)? - Erwägen Sie die Verwendung
List
oderMap
anstatt eine einfache alte array. Die Collections-API bietet so viele nützliche Klassen und Methoden. - (@BalusC - wahr ... aber es gibt kein "wie viele nicht-null-Elemente" - Methode ... unter der Annahme, dass ist, was er fragt.)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Warum nicht Sie schreiben es selbst:
Andere alternative:
Vielleicht übertrieben, Prädikate, aber hier ist eine Guave Lösung:
Sollte diese Arbeit. Im wesentlichen das gleiche mit der Funktion für dich geschrieben und nicht TreeNode-spezifisch.
Ich nannte es initLength, weil diese Artikel sind init würde aber nennen Sie es wie Sie möchten. Einige würden sagen, es ist init würde, wenn Sie es definieren, unabhängig davon, ob der Inhalt null sind.
In Java 8, die Sie verwenden können, Math.toIntExact und Arrays.stream zu konstruieren, die einen schönen one-liner:
Code: