Array Füllen

Ein Array, was ist das?

Sie können also Java-Arrays mit for loop füllen und lesen. Um ein Array schnell zu erstellen und mit konkreten Werten zu füllen, schreiben Sie: int[] zahlen = ;. Mit ReDim müsste ich immer die Größe einstellen und dann füllen, nicht wahr? Ist es nicht besser, eine'Liste/(Arrayliste)' zu verwenden? Ein Array ist eine Art Tabelle, bei der nicht über Datensätze und Feldnamen, sondern über Indexwerte auf den in einem Element gespeicherten Wert zugegriffen wird.

Ein Array, was ist das?

Der einfachste Weg, ein Array mit einer tabellarischen Darstellung zu verbinden. Hier begrenze ich mich auf ein- und zweidimensionales Array. Um ein Array mit Informationen zu füllen, muss ich es zuerst erklären, d.h. einen Variablen-Namen angeben und wahlweise die Zahl der Datenelemente angeben. Wir empfehlen,'a' oder'ar' an den Anfang des Variablen-Namens zu stellen, um immer zu wissen, dass es sich um ein Array handelt.

Die einzelnen Bestandteile eines Arrays werden über ihren jeweiligen Inhalt adressiert. Bitte beachte, dass der erste Wert des Arrays = 0 ist. Dies wird als Null-basierter Indiz bezeichnet. Lassen Sie uns ein Array von 5 verschiedenen Teilen deklarieren: Lokaler $aTest[5]; Die Zahl der Einträge wird in spitzen Klammern hinter dem Namen der Variablen festgelegt.

Die kleinsten (sinnvollerweise) deklarierbaren Felder sind eins mit einem Element: Dieses wird mit: adressiert: Die Array-Variable wird mit dem Inhalt des Elementes spezifiziert und anschließend der Inhalt zuweisen. Stellen Sie sich vor - Elementnummer 1 hat den Zeiger 0. $aTest[0] ='Wert 1' $aTest[1] ='Wert 2' $aTest[2] ='Wert 3' $aTest[3] ='Wert 4' $aTest[4] ='Wert 5' Durch die Adresse der Arrayelemente über einen Zeiger können wir in einem Loop lesen/schreiben.

Die Proportionen eines Array können mit dieser Zusatzfunktion bestimmt werden. Das Dimensionsflag gibt laut Hilfefunktion die Zahl der Bemaßungen mit "0", die Zahl der Reihen mit "1" und die Zahl der Säulen mit "2" zurück. Allerdings können Spalte und Zeile auch in umgekehrter Reihenfolge geordnet werden (z.B. haben von Webseiten gelesene Felder per Default die entgegengesetzte Struktur), so dass diese Anweisung falsch ist.

Außerdem gibt es keinen Vermerk, dass die Zahl der einzelnen Dimensionen als Merker über den Dimensionsindex abfragbar ist. Beispielsweise können Sie mit UBound($aTest, 64) die Zahl der Objekte in der 64ten Dimension auslesen. Da mein Array 5 Einträge hat, gibt UBound($aTest) auch den Rückgabewert 5 zurück, also muss ich aus diesem Rückgabewert "-1" berechnen, um den Rückgabewert des zuletzt im Array enthaltenen Elementes zu errechnen.

Zahlreiche Funktionalitäten liefern als Resultat ein Array zurück. Die Array-Position [0] wird oft verwendet, um die Zahl der Array-Elemente vorzugeben. Der Rückgabewert dieser Prozedur ist ein Array, das die Zahl der einzelnen Zeichen und die Resultate der Separation aufteilt. Wir empfehlen, vor der weiteren Verarbeitung zu überprüfen, ob ein Array existiert oder ob es sich um ein Array mit Werten handelt.

Weil StringSplit() im Falle eines Fehlers ein Array mit dem ursprünglichen String ausgeben konnte:? Für einen Funktionsrückgabewert, der nur im Falle eines Erfolgs ein Array liefert, wird folgende Prüfung empfohlen: Hinweis: Auch wenn ein Array zurückgegeben wird, sollte die Array-Variable zuvor mit dem Parameter "Array" angegeben werden. Es genügt jedoch, den Name hier anzugeben. Das Array wird durch die jeweilige Funktionalität bestimmt.

Dies ist für den Befehl ZeichenfolgeSplit nicht obligatorisch, aber der Befehl namens namens namens" _FileListToArray" gibt einen Fehlermeldung zurück, wenn die Array-Variable nicht im Voraus definiert wurde. Es ist also besser, sich daran zu gewöhnen, daß man sich im voraus an die Deklaration von Werten gewöhnt. Beispiel: Mit dem nachfolgenden Beispiel möchte ich Ihnen verdeutlichen, wie Sie den Programmierungsaufwand durch die Verwendung eines Arrays reduzieren können. Man sieht, dass die Verwendung eines Arrays mit zunehmender Zahl der Kontrollen immer wirksamer wird.

Natürlich braucht es etwas Abstraktion, um sich etwas hinter Array+Index vorzustellen. Außerdem sollte der Arrayname immer aussagefähig sein. Die zweidimensionale Anordnung kann mit einer Mehrspalttabelle verglichen werden. In der Regel beinhaltet die erste Sicht die Reihen (Anzahl der Elemente) und die zweite Sicht die Säulen (Werte pro Element).

Dies führt zu folgender Deklaration: Hier muss das kleinstmögliche deklarationsfähige Array 1 Eintrag und 1 Zeile haben. Es macht natürlich wenig Sinn, ein multidimensionales Array mit nur einer Datenspalte zu definieren, dann kann ich ein 1-D-Array ausgeben. Die kleinstmögliche'sinnvolle' Erklärung für ein 2-D-Array ist also: 1 Elements und 2 Datenspalten.

Ein Array mit 5 Elemente und 2 Spalten: Hier wird auch das erste Teil über den Indiz 0 für den Wert von Zeile und Spalte adressiert. Jetzt gebe ich allen Elemente Werte: Ich möchte das Array benutzen und alles in einer Loop verarbeiten.

Wenn ich jedoch mehrere Zeilen habe, deren Nummer ich im Voraus nicht kenne, müssen die Zeilen auch in einer Schlaufe nachbearbeitet werden: Die Zeilen müssen in einer Schlaufe stehen: Manche Funktion gibt auch standardmäßig ein 2-D-Array zurück. Nun lest den Abschnitt: Betrachten wir den Arrayinhalt: Wenn ich jetzt auf den Schlüsselwert von'keyC' zurückgreifen will, muss ich das Array nach dem entsprechenden Parameter aufsuchen:'keyC':

Also vergleicht ich in jedem einzelnen Teil des Arrays, ob der darin befindliche Schlüsselnamen (Position[n][0]) mit meinem Suchnamen identisch ist. Wenn die Taste vorhanden ist, wird der entsprechende Messwert ausgelesen (Position[n][1]). Wenn wir eine fixe Grösse für das Array festlegen und dann damit umgehen, ist ein Array fix. Ein Array ist ein dynamisches Array, wenn wir die Grösse des Arrays zur Ausführungszeit ( "Runtime") ändern.

In das Array können nun bis zu 20 Messwerte eingegeben werden. So ist der zuletzt eingegebene Wert: $array[19] ='letzter Wert'. Erinnern Sie sich immer wieder: Array-Adressierung fängt mit der Zahl 0 an, aus Erfahrung sind Indexprobleme die häufigste Ursache bei der Bearbeitung eines Arrays. Mit der Funktion Unbegrenzt kann immer die momentane Array-Größe ermittelt werden. Das Array wird mit Hilfe von Re-Dim überarbeitet.

$array [0] hat in der Array-Deklaration keinen Content. Dies ist auch das zuletzt gestartete Programm, da: Im ersten Durchgang ist $array[Ubound($array)-1] also mit $array [0], dem ersten Baustein, gleich. Der Content-Check erzeugt KEINEN Content und daher wird die Array-Größe NICHT geändert, sondern in das zuletzt verwendete Array eingelesen. Bei allen folgenden Durchgängen ist das zuletzt verwendete Elemente MIT Inhalten, so dass das Array um ein einziges Elemente erweitert und dann in das neue, zuletzt verwendete Elemente eingelesen wird.

In der Regel ist es nicht möglich zu bestimmen, wann mit statischem und wann mit dynamischem Array gearbeitet werden soll. Natürlich braucht auch die erneute Deklaration der Array-Größe Zeit. Daher kann es bequemer sein, ein Array mit z.B. 1.000 Elemente im Voraus zu erstellen, wenn Sie wissen, dass diese Zahl nicht übertroffen wird.

Das Array kann auch in Blöcke von 200-300 Elemente erweitert werden, um eine Verbindung von statischen und dynamischen Eigenschaften zu erreichen. Beim Deklarieren des Arrays können direkt die entsprechenden Daten zugeordnet werden. Bei der neuen Deklarationssyntax mit Bewertung ist die Anzahl der Elemente für das Array nicht obligatorisch, d.h. fakultativ.

Das sollte Ihnen den Start mit einem Array vereinfachen.