Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Grundlagen der Programmierung: Datenstrukturen

Objekte sortieren

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wenn Sie Objekte sortieren wollen, benötigen Sie eine zusätzliche Logik. Dabei geht es nicht um das Sortieren selbst, sondern eigentlich um das Vergleichen.

Transkript

In objektorientierten Programmiersprachen haben Sie oft Arrays, die an Ihre Bedürfnisse angepasst werden. Nicht Arrays mit einfach nur numerischen Werten oder simplen Texten. Im Normalfall ist es kein Problem, ein Array mit diesen spezifischen Objekten zu befüllen. Aber wenn Sie dann vom Array verlangen, diese Objekte mit Hilfe der vorgefertigten Sortierfunktion zu sortieren, würde er einfach nicht wissen, wie er das anstellen soll. Denn Sie brauchen etwas mehr Informationen, bevor Sie ein Äquivalent zu 'myArraySort' bekommen und es damit zum Laufen bringen können. Wenn Sie zum Beispiel Array mit Mitarbeiterobjekten haben, wie hier, bei den jedes unterschiedliche Eigenschaften und unterschiedliche Datenportionen hat, wie zum Beispiel hier die Mitarbeiter-ID, Nachname, Einstellungsdatum, eventuell noch die Abteilung. Aber was bedeutet es, Mitarbeiterobjekte zu sortieren? Wenn wir sie sortieren wollen, sollten wir dann ins Innere von jedem dieser Objekte schauen und diese etwa nach der Mitarbeiter-ID sortieren? Das geht natürlich. Aber wenn Sie diese Datenstruktur verwenden, um ein Mitarbeiterverzeichnis anzulegen, dann würde es wahrscheinlich besser sein, wenn Sie nach den Nachnamen sortieren. Dann stellt sich wieder die Frage, wenn zwei Nachnamen gleich sind, sortieren Sie dann noch weiter nach dem Vornamen? Sie sollten also eine gewisse Kontrolle darüber haben, wie sortiert wird und was auch immer in Ihren Augen sinnvoll ist bei dem, was Sie mit Ihrer Definition von Mitarbeiter eben brauchen. Das mag jetzt so klingen, als müssten Sie Ihren eigenen Sortieralgorithmus schreiben, aber das müssen Sie zum Glück nicht. Sie müssen nur ein kleines Stückchen Code bereitstellen. Nur ein ganz klein wenig Logik. Normalerweise brauchen Sie dafür nur ein paar Zeilen. Typischerweise einen sogenannten Komparator oder eine Compare-Funktion. Also eine Vergleichs-Funktion. Dabei geht's nicht ums Sortieren, sondern ums Vergleichen. Das ist der Unterschied. Sortieren ist anstrengend. Vergleichen ist einfach. So ein Komparator, so eine Komparations-Funktion muss lediglich zwei Ihrer Spezialobjekte, sagen wir mal, Mitarbeiter A und Mitarbeiter B, miteinander vergleichen. Es muss ein wenig Logik angewandt werden, die dann besagt, dass Mitarbeiter A kleiner ist als Mitarbeiter B, größer B oder gleich B und was auch immer das für uns bedeuten mag. In diesem Fall würde also zuerst die Nachnameneigenschaft jedes Objekts verglichen werden und wenn sie gleichwertig sind, wird auch noch der Vorname verglichen. In meinem sehr vereinfachten Beispiel, wenn also Vor- und Nachname gleich sind, heißt das einfach, diese zwei Objekte sind gleich und für unsere Sortieraufgabe ist es egal, in welcher Reihenfolge sie dann stehen. Aber die winzige Menge an Logik, umgesetzt in Ihrer Programmiersprache, würde genügen, um auch in Ihrer Sprache Arrays oder andere Datenstrukturen mit ihren speziellen Objekten sortieren zu können. Denn wenn das Programm gesagt bekommt, wie es zwei beliebige Objekte vergleichen soll, dann weiß es, wie es auch tausende Daten abarbeiten kann. Vergleichbares finden Sie vielerorts. Komparatoren sind nicht einfach nur bei Arrays zu finden. Sie sind auch sonst in anderen Bereichen sehr, sehr hilfreich. Wir finden dieselben zugrundeliegenden Ideen auch bei anderen Datenstrukturen.

Grundlagen der Programmierung: Datenstrukturen

Erhalten Sieeinen klaren Eindruck von Datenstrukturen und deren Eigenheiten und verstehen, wie Sie diese am besten einsetzen können – ganz unabhängig von den einzelnen Programmiersprachen.

2 Std. 51 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!