DanCode
User
-
Registriert
-
Letzter Besuch
Reputationsaktivität
-
Grobe Fausregel: Zum durchlaufen mehrdimensionaler Arrays brauchst du pro "Stufe" eine Schleife und in der letzten Stufe hast du die richtigen Werte, davor sind alles Arrays von Arrays.
Zum besseren Verständnis, weil mehrdimensionale Arrays für den Kopf irgendwann schwer vorstellbar sind:
Jedes Land hat mehrere Bundesländer.
Jedes Bundesland hat mehrere Städte.
Jede Stadt hat Bezirke.
Jeder Bezirk hat Straßen.
In jeder Straße Wohnen X Menschen.
Das oben kannst du als 5-Dimensionales-Array darstellen:
int[Land][Bundesland][Stadt][Bezirk][Straße]
int[0][1][2][3][4] könnte dann zum Beispiel die
Deutschland > Berlin > Berlin > Kaulsdorf Nord > Lion-Feuchtwanger-Straße mit 20 Einwohnern und
int[5][6][7][8][9] die
Norwegen > Oslo > Oslo > Grünerløkka > Thorvald Meyers gate mit 80 Einwohnern sein.
-
Das kommt ganz auf die Aufgabe an und was du damit tun sollst.
Ich denke ein eindimensionales Array ist ja leicht zu verstehen und zu handhaben. Eine Liste von Elementen und je nachdem was man tun soll, muss man eben einmal über die ganze Liste "loopen" und die entsprechende Operation anwenden.
Ein zweidimensionales Array ist ja letztlich "nur" ein Array, dass als Elemente dann wieder Arrays enthält wodurch dann eine Matrix, oder schlicht eine Tabelle abgebildet werden kann, weil man dann Zeilen und Spalten hat. Was man daran verstehen muss ist, dass man oft zwei Schleifen braucht. Eine, die alle elemente im eigentlichen Array durchläuft. Und dann eine zweite, weil diese Elemente eben selbst auch wieder Arrays sind. Und theoretisch geht dass immer so weiter, wie beim Film Inception- auch die Elemente könnten wieder arrays sein und so braucht man eben für zwei, drei, vier dimensionale Arrays zwei, drei, vier Schleifen ineinander.
Arrays mit Objekten sind ja im Grunde auch auch "nur" eindimensional. Sprich du musst einmal mit einer Schleife drübergehen. Der Unterschied ist dann nur, dass du nicht direkt den Wert hast und mit dem arbeiten kannst wie wenn fu einfach nur eine Liste aus Zahlen oder Strings hast ider so. Du hast dann halt das Objekt und musst in der Schleife dann auf die Attribute und Methoden des Objektes zugreifen. Aber das ist ja auch kein Hexenwerk, je nachdem was das Objekt eben alles hat und "kann".