Arrays und Listen (Lernzielkontrolle) – Anwendungsentwickler-Podcast #99

Dieser Beitrag ist Teil 14 von 14 in der Serie Lernzielkontrollen.

Nach langer Zeit setze ich meine Reihe der Lernzielkontrollen zur Programmierung mit einem wichtigen Thema fort. Arrays und Listen sind der Inhalt der neunundneunzigsten Episode des Anwendungsentwickler-Podcasts.

Probeabo bei Audible (Affiliate)

Inhalt

  • Was ist ein Array?
    • Eine Liste mehrerer Werte des gleichen Datentyps.
  • Wie findet man heraus, wie viele Elemente ein Array enthält?
    • Arrays haben eine Eigenschaft „Länge“, die in Java z.B. length heißt.
  • Wie kann man die Länge eines Arrays verändern?
    • Gar nicht. Arrays sind nicht redimensionierbar.
  • Wie greift man auf die Elemente in einem Array zu?
    • Viele Programmiersprachen bieten für den Zugriff auf die Elemente eines Arrays die Schreibweise mit eckigen Klammern an, z.B. myArray[2]. Der Index ist meistens 0-basiert.
  • Wie iteriert man über die Elemente eines Arrays?
    • Mit Schleifen wie der for-Schleife. Einige Programmiersprachen bieten auch eine foreach-Schleife (in Java „extended for“) an, die ohne Indizes arbeitet und nur die Elemente durchläuft.
  • Was ist eine foreach-Schleife?
    • Sie durchläuft alle Elemente eines Arrays und weist sie nach und nach einer Iterationsvariablen zu. Dadurch muss sich der Entwickler nicht um die Indizes kümmern.
  • Was ist ein mehrdimensionales Array?
    • Ein Array kann nicht nur eine Dimension haben, sondern mehrere. Bis zur dritten kann man sich dieses Konstrukt noch vorstellen (2. Tabelle, 3. Würfel).
  • Was ist ein assoziatives Array?
    • Ein zweidimensionales Array, das anstatt numerischer Indizes beliebige Datentypen als Schlüssel zulässt.
  • Was ist eine Liste?
    • Eine Liste ist quasi ein intelligentes Array. Sie stellt Funktionen zur Manipulation bereit und ist redimensionierbar.
  • Was unterscheidet eine verkettete Liste (LinkedList) von einer Array-Liste (ArrayList)?
    • Die Art der Implementierung. Verkettete Listen sind schnell beim Einfügen und langsam beim Zugriff, Array-Listen sind langsam beim Einfügen und schnell beim Zugriff.
  • Wann sollte man Arrays und wann Listen verwenden?
    • Wenn es keinen guten Grund dagegen gibt, sollte man immer Listen verwenden, da sie deutlich einfacher zu verwenden sind und zahlreiche Funktionen bereitstellen.
  • Was ist ein Set?
    • Eine Liste mit eindeutigen Elementen.
  • Was ist eine Map?
    • Das gleiche wie ein assoziatives Array, aber als eigene Datenstruktur implementiert. Es handelt sich um Schlüssel/Wert-Paare auf die über die Schlüssel zugegriffen werden kann.

Literaturempfehlungen

Eine sehr ausführliche Einführung in Listen und andere Datenstrukturen aus der Collection-API bietet die gute alte Java-Insel*.

Christian Ullenboom - Java ist auch eine Insel (Affiliate)*
(direkt beim Rheinwerk-Verlag bestellen*)

Links

Navigation der Serie<< Fehlerbehandlung (Lernzielkontrolle zu Exceptions) – Anwendungsentwickler-Podcast #79
Polyglot Clean Code Developer
About the Author
Ausbildungsleiter für Fachinformatiker Anwendungsentwicklung und Systemintegration, IHK-Prüfer und Hochschuldozent für Programmierung und Software-Engineering.

2 comments on “Arrays und Listen (Lernzielkontrolle) – Anwendungsentwickler-Podcast #99

  1. Tolle Folge! Die unterschiedlichen Collections werden meiner Ansicht nach leider viel zu oft falsch verwendet und die Laufzeitkomplexität der verschiedenen Operationen ignoriert. Wir haben deshalb vor wenigen Tagen ebenfalls einen Podcast mit dem Thema Collections (plus andere Themen) gemacht – allerdings für .NET und C# und nicht so detailliert. Wenn du trotzdem mal reinhören möchtest, freuen wir uns immer über Feedback:

    https://devcouch.de/2017/09/24/devcouch-folge-6-ist-microsoft-pleite-sammlung-eingeleitet/

  2. Stefan Macke sagt:

    Hallo Thomas, danke für dein Feedback. Euren Podcast habe ich schon läääängst abonniert 🙂 Im deutschsprachigen Raum sind die Entwickler-Podcasts ja recht übersichtlich. Daher freue ich mich immer über neue Formate!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax