Ich komme aus einem PHP-Hintergrund und in PHP gibt es eine array_size()
Funktion, die Ihnen sagt, wie viele Elemente im Array verwendet werden.
Gibt es eine ähnliche Methode für ein String[]
Array? Vielen Dank.
Ich komme aus einem PHP-Hintergrund und in PHP gibt es eine array_size()
Funktion, die Ihnen sagt, wie viele Elemente im Array verwendet werden.
Gibt es eine ähnliche Methode für ein String[]
Array? Vielen Dank.
Antworten:
Ja .length
(eigenschaftsähnlich, keine Methode):
String[] array = new String[10];
int size = array.length;
array.length
Es ist eigentlich ein letztes Mitglied des Arrays, keine Methode.
Es ist wahrscheinlich auch nützlich zu beachten, dass Sie bei einem mehrdimensionalen Array die entsprechende Dimension erhalten können, indem Sie einfach ein '[0]' an das Array anhängen, das Sie abfragen, bis Sie zur entsprechenden Achse / Tupel / Dimension gelangen.
Dies wird wahrscheinlich besser mit dem folgenden Code erklärt:
public class Test {
public static void main(String[] args){
String[][] moo = new String[5][12];
System.out.println(moo.length); //Prints the size of the First Dimension in the array
System.out.println(moo[0].length);//Prints the size of the Second Dimension in the array
}
}
Welches erzeugt die Ausgabe:
5
12
Arrays sind Objekte und haben ein Längenfeld.
String [] haha = {"olle", "bulle"};
haha.length wäre 2
In Java gibt es ein length
Feld, das Sie für jedes Array verwenden können, um die Größe zu ermitteln:
String[] s = new String[10];
System.out.println(s.length);
Wenn Sie möchten, dass eine Funktion dies tut
Object array = new String[10];
int size = Array.getlength(array);
Dies kann nützlich sein, wenn Sie nicht wissen, welchen Array-Typ Sie haben, z. B. int [], byte [] oder Object [].
Es gibt einen Unterschied zwischen Länge String
und array
zu verdeutlichen:
int a[] = {1, 2, 3, 4};
String s = "1234";
a.length //gives the length of the array
s.length() //gives the length of the string
Die Antwort lautet "Alle". Ein Java-Array wird mit einer festen Anzahl von Element-Slots zugewiesen. Das Attribut "Länge" gibt an, wie viele. Diese Zahl ist für die Lebensdauer des Arrays unveränderlich. Für ein Größenänderungsäquivalent benötigen Sie eine der Klassen java.util.List. Hier können Sie mithilfe der size () -Methode herausfinden, wie viele Elemente verwendet werden.
Es gibt jedoch "In Verwendung" und dann gibt es In Verwendung . In einem Klassenobjektarray können Sie Element-Slots haben, deren Elemente Nullobjekte sind. Obwohl sie im Längenattribut zählen, aber die Definitionen der meisten Personen, werden sie nicht verwendet (YMMV, abhängig von der Anwendung). Es gibt keine integrierte Funktion zum Zurückgeben der Null- / Nicht-Null-Zählungen.
Listenobjekte haben noch eine andere Definition von "In Verwendung". Um eine übermäßige Erstellung / Zerstörung der zugrunde liegenden Speicherstrukturen zu vermeiden, werden diese Klassen normalerweise aufgefüllt. Es wird intern verwendet, aber in der zurückgegebenen size () -Methode nicht gezählt. Wenn Sie versuchen, auf diese Elemente zuzugreifen, ohne die Liste zu erweitern (über die Add-Methoden), wird eine unzulässige Indexausnahme angezeigt.
Für Listen können Sie also "In Verwendung" für nicht null, festgeschriebene Elemente, alle festgeschriebenen Elemente (einschließlich null Elemente) oder alle Elemente einschließlich des derzeit zugewiesenen Erweiterungsbereichs verwenden.
Alle obigen Antworten sind richtig. Es ist wichtig zu beachten, dass Arrays ein Längenattribut haben, jedoch keine Längenmethode. Wann immer Sie in Java Strings und Arrays verwenden, sind die drei Grundmodelle, denen Sie möglicherweise gegenüberstehen:
Nicht wirklich die Antwort auf Ihre Frage, aber wenn Sie so etwas wie ein Array haben möchten, das wachsen und schrumpfen kann, sollten Sie kein Array in Java verwenden. Am besten verwenden Sie ArrayList oder eine andere List-Implementierung.
Sie können dann size () aufrufen, um die Größe zu ermitteln.