Programmieren 2 02 Maps, Sets, Defensive Programmierung

Größe: px
Ab Seite anzeigen:

Download "Programmieren 2 02 Maps, Sets, Defensive Programmierung"

Transkript

1 Programmieren 2 02 Maps, Sets, Defensive Programmierung Bachelor Medieninformatik Sommersemester 2016 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1

2 MAP - Zusammenfassung 2 2

3 Assoziative Datenstrukturen: Maps Map: Collection von Assoziationen (Key-Value-Paaren) linkseindeutig Schlüssel-Wert-Paare kommen häufig vor: ini-dateien Property-Dateien Resource-Dateien Verzeichnisse... Map.Entry ist eine innere Klasse von Map für den Benutzer normalerweise nicht nötig 3

4 Map-Methoden Map<K, V> Basismethoden: void clear() boolean isempty() int size() löscht alle Einträge keine Einträge? Anzahl der Einträge boolean containskey(object key) boolean containsvalue(v value) V put(k key, V value) liefert vorherigen Wert, oder null bei Neueintrag V get(object key) liefert value, oder null V remove(object key) liefert den entfernten value, oder null Set<K> keyset() Collection<V> values() Set<Map.Entry> entryset() liefert alle Keys als Set liefert alle Values als Set liefert alle Map-Entries als Set 4 4

5 Map-Methoden Map<K, V> Komfortmethoden (nur der Vollständigkeit halber): V getordefault(object key, V defaultvalue) boolean remove(object key, V value) V putifabsent(k key, V value) boolean replace(k key, V oldval, V newval) liefert ggf. Default-Wert nur, falls Wert auch passt liefert vorh.value oder null ersetzt, falls alter Wert passt Set<Map.Entry> entryset() liefert alle Entry-s als Set (wichtig für AbstractMap!) void putall(map<k, V> map) void putall(map<? extends K,? extends V> map) übernimmt alle Entry-s aus map void foreach(biconsumer<k, V> action) void foreach(biconsumer<? super K,? super V> action) wendet action auf jd. Entry an void replaceall(bifunction<k, V, V> function) ersetzt Entry-s durch Funktionsvoid replaceall(bifunction<? super K,? super V,? extends V> function) wert 5 5

6 Das Map-API 6 6

7 Der "Kniff": Abstrakte Implementierung AbstractMap implementiert fast alle Methoden nur entryset() ist abstrakt und muss der tatsächlichen Datenstruktur der Implementierung angepasst werden. Alles andere lässt mithilfe von entryset() programmieren. Überlegen Sie, wie Sie z.b. get und contains programmieren würden! 7 7

8 HashMap HashMap und TreeMap implementieren beide das Interface Map HashMap ist für den Direktzugriff optimiert: Index wird aus dem Key berechnet ("Hash") Wenn besetzt, wird in der Nähe gespeichert Solange die Füllquote unter ca.75% liegt, super Zugriffszeiten danach reorganisieren (umkopieren in größere Map) gleichmäßige Verteilung ist wichtig (gute Hash-Funktion) 8 8

9 TreeMap TreeMap implementiert zusätzlich das Interface SortedMap Die Keys müssen sortierbar sein: entweder das Interface Comparable implementieren oder es muss einen "Vergleicher" geben, Objekt vom Typ Comparator im Konstruktor übergeben Sehr gutes Suchverhalten bei ausgeglichenem Aufbau sonst Reorganisation ("Balancing") keine Füllquote Sortierte Ausgabe, Frage nach vor/nach direkt möglich es gibt entsprechende Zusatzmethoden: firstentry, firstkey, descendingkeyset, descendingtreemap, headmap, tailmap, higherkey

10 Set - Zusammenfassung 10 10

11 Set : Collection ohne Mehrfacheinträge Set ist eine iterierbare Menge Implementiert Collection (und damit Iterable) eindeutig (keine Mehrfacheinträge) Mengenoperationen addall (Vereinigung) retainall (Schnittmenge) removeall (Differenzmenge) 11 11

12 Set-Methoden Set<E> void clear() booleanisempty() int size() löscht alle Einträge keine Einträge? Anzahl der Einträge boolean contains (Object element) boolean add(e element) boolean remove(object element) false, falls schon vorhanden false, falls nicht vorhanden boolean addall(collection<?> c) true, falls keins vorhanden boolean removeall(collection<?> c) true, falls alle vorhanden boolean retainall(collection<?> c) true, falls alle vorhanden Iterator<E> iterator() Object[] toarray() E[] toarray(e[] array) (vereinfacht) liefert Iterator liefert die Elemente als Object[] liefert die Elemente als E[] 12 12

13 2. Neues Projekt: Movie-Register 13

14 Das Filmregister Suchoptimierte editierbare Liste von Filmen: "Gib mir alle Infos zu 'Der kleine Hobbit'" Ein Film ist ein Datentyp: Film-Objekte enthalten Infos zu Titel, Regisseur, Erscheinungsjahr, Länge, Hauptdarstellern... Die Filmsuche nach Titeln soll besonders unterstützt werden à Implementierung mit Map als Datentyp, genauer Map<String, Movie> 14

15 Der Datentyp Movie (Vorschlag) In der Übung können Sie Ihre eigene Variation einsetzen, z.b. mit Kaufdatum und Preis, wenn Sie eine DVD-Liste bauen wollen mit Sprachenliste mit Bewertungen... 15

16 Details Genre ist als Enum definiert: fsk bleibt int, weil die Werte ja Zahlenwerte sind Es wird aber ein Code für "unbekannt" benötigt: -100 Darstellerliste "featuring" ist ein Set So vermeidet man Doppeleinträge, wenn Schauspieler hinzugefügt werden 16

17 Der Typ IMovieRegister (Vorschlag) Argumentliste, liefert: Movie[] movies Alles aus m übernehmen, aber Titel beibehalten Komfortsuche 17

18 Das könnte interessant werden... So ein Filmregister braucht eigentlich jeder, oder? Vielleicht wollen Sie Ihr fertiges Programm ja weitergeben? Dann sollte es GUT sein: Lesbar und erweiterbar programmiert d.h. es entspricht den Konventionen und enthält keine "Programmierfallen" Robust d.h. kein Bedienfehler sollte es zum Absturz bringen Ausgetestet d.h. Programmierfehler sind weitestgehend ausgeräumt 18

19 Klassenqualität Erwartungskonformität (Good Citizenship) Klasse besitzt Standardkonstruktor Klasse besitzt Kopierkonstruktor Konstruktoren erzeugen ein gültige, sinnvolle Objekte Klasse definiert tostring, equals und hashcode sinnvoll Klasse hat Getter und Setter für Attribute (falls nicht ADT) Robustheit (Monkey Safety) öffentliche Methoden funktionieren zustandsunabhängig (geeigneter Umgang mit unpassenden Objektzuständen) öffentliche Methoden können alle Parameterwerte passenden Typs verarbeiten (ggf. Exception) durch unpassende Parameter oder Objektzustände entsteht kein inkonsistenter Systemzustand 19 19

20 Murphey & Co Fehler kommen vor: Rechne mit dem DAU! Rechne mit dem DAP! Rechne mit dem Zufall! Rechne mit der Komplexität! Rechne mit Sabotage! Rechne mit der Zeit! Rechne mit ALLEM

21 Machen wir aus Movie einen Good Citizen: Standardkonstruktor: Attribute initialisieren, wo nötig: title und germantitle: null lassen genre: auf Genre.Unspecified setzen director: null lassen year: 0 setzen als Code für unbekannt featuring: newhashset<string>, damit bei add keine NullPointerException kommt. length: 0 für unbekannt fsk: -100 für unbekannt 21 21

22 Machen wir aus Movie einen Good Citizen: Kopierkonstruktor: Alle Attribute übernehmen featuring: falls null, new HashSet<String>, damit bei add keine NullPointerException kommt

23 Machen wir aus Movie einen Good Citizen: Weitere Konstruktoren: Sinnvolle Attributkombinationen für die Objekterzeugung featuring kann z.b. durch eine Argumentliste gefüllt werden: Argumentliste liefert: String[] actors. Muss letzter Parameter sein 23 23

24 Machen wir aus Movie einen Good Citizen: Getter und Setter sind klar Private Attribute mit öffentlichem getter u. (ggf.) setter heißen auch "Properties" equals, tostring und hashcode generieren und dann bearbeiten equals: welche Attribute gehen in die Gleichheit ein (z.b. Bewertungen nicht)? manchmal zusätzlich weniger genau: matches tostring: Formatierung und Attributwahl für die Ausgabe, z.b. in einer Liste manchmal zusätzlich genauer: tostringwithdetails hashcode: prägnante Attribute wählen (z.b. dieselben wie bei equals) 24 24

25 Beispiel matches 25

26 Beispiel equals In diesem Fall wurden nur die ersten 3 Zeilen aus dem generierten Code übernommen Die komplizierten Gleichheitsbedingungen wurden von Hand programmiert, damit sie übersichtlich bleiben 26

27 Und die Robustheit? Movie ist vor allem Datentyp enthält getter, setter, equals, tostringund hashcode: à Normalerweise keine Robustheitsprobleme. Man könnte settitle nur bei null funktionieren lassen, zum Ändern updatetitle definieren, damit der Titel nicht "versehentlich" überschrieben wird Der Parametertyp von match ist anders als bei equals, das ist vielleicht unerwartet. Der Compiler überprüft aber die richtige Verwendung. 27

28 Jetzt das MovieRegister: Good Citizen Konstruktor muss den Datenbehälter (Map) initialisieren ggf. Grunddatenbestand eintragen Kopierkonstruktor kopiert die Map (und ggf. alle Verwaltungsattribute) Getter und Setter entfallen: ADT hashcode und equals immer definieren ggf. auf die Map zurückführen tostring ist praktisch als schnelle Testausgabe: Was steht bisher drin? 28

29 Implementierungsansatz Robustheit schon im Kopierkonstruktor: wenn register null ist, neue Map erzeugen! 29

30 Movie Register: Robustheit Hier müssen wir erst die Regeln festlegen: Wie soll das Register funktionieren? Was sind gültige Systemzustände? Englischer und deutscher Titel sollen Schlüssel sein! beide Schlüssel sind also im Wert enthalten! get und search sollen für englische und deutsche Titel funktionieren search soll mit einem beliebigen Teil des Titels funktionieren null ist kein gültiger Schlüssel. addmoviedarf nicht überschreiben. dafür gibt es updatemovie und updatetitle wenn die Titel passen, ist es derselbe Film, evtl. mit unterschiedlich vollständigen Einträgen. containsmovie überprüft nur die Schlüssel 30

31 MovieRegister : Robustheit Argument auf null und auf containsmovie prüfen Argument auf null prüfen. Einfacher oder doppelter Titelabgleich (matches)? Argument auf null und leeren String prüfen Argument auf null und auf containsmovie prüfen etc... 31

32 Robustheits - Reaktionen Was tun, wenn eine Prüfung negativ ausfällt? Zunächst nur Schaden verhindern, Arbeit verweigern return, return null oder return false Über die richtige Fehlerbehandlung sprechen wir nächstes Mal. richtig geraten: Exceptions 32

33 Wozu brauchen wir Set? Jede Map ist linkseindeutig d.h. die Menge der Schlüssel ist ein Set wird geliefert von der Methode keyset() damit ist auch die Menge der Einträge ein Set, geliefert von der Methode entryset() Suchergebnisse sollten nur einmal gelistet werden: searchmovie() liefert ein Set von Movies In unserem Fall sind auch die Values eindeutig beide Schlüssel sollen dasselbe Movie-Objekt referenzieren daher liefert auch movielist() ein Set von Movies 33

34 Map-Methoden Map<K, V> Basismethoden: void clear() boolean isempty() int size() löscht alle Einträge keine Einträge? Anzahl der Einträge boolean containskey(object key) boolean containsvalue(v value) V put(k key, V value) liefert vorherigen Wert, oder null bei Neueintrag V get(object key) liefert value, oder null V remove(object key) liefert den entfernten value, oder null Set<K> keyset() Collection<V> values() Set<Map.Entry> entryset() liefert alle Keys als Set liefert alle Values als Set liefert alle Map-Entries als Set 34 34

35 Zum Schluss: Testtreiber schreiben! Schreiben Sie zum Testen eine Main-Methode in MovieRegister MovieRegister instanziieren und mit allerlei Filmen füllen (zum Testen nicht zu viele) Zustand ausgeben: Zahl der Einträge, Zahl der Schlüssel, alle Filme (Movie tostring oder MovieRegister tostring) Einige Filme hinzufügen, löschen, ändern Zustand ausgeben Robustheit testen (Null- und leere Parameter, vorhandenes hinzufügen...) Zustand ausgeben Eine Liste mit 20 Filmen gibt es als Download J Tipps: Schreiben Sie sich einen passenden Konstruktor für Movies Schreiben Sie eine Methode populateregister() oder einen Konstruktor mit einer List<Movie> als Parameter Sie können Sie häufiger nutzen 35

36 Das war der Start ins Filmregister Es wird uns weiter begleiten... J 36

Programmieren 2 03 Exceptions, Assertions und Fehlerbehandlung

Programmieren 2 03 Exceptions, Assertions und Fehlerbehandlung Programmieren 2 03 Exceptions, Assertions und Fehlerbehandlung Bachelor Medieninformatik Sommersemester 2016 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Klassenqualität Qualitätsziel:

Mehr

JAVA KURS COLLECTION

JAVA KURS COLLECTION JAVA KURS COLLECTION COLLECTIONS Christa Schneider 2 COLLECTION Enthält als Basis-Interface grundlegende Methoden zur Arbeit mit Collections Methode int size() boolean isempty() boolean contains (Object)

Mehr

Programmieren 2 01 Organisation und Wiedereinstieg

Programmieren 2 01 Organisation und Wiedereinstieg Programmieren 2 01 Organisation und Wiedereinstieg Bachelor Medieninformatik Sommersemester 2016 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Überblick Thema Programmiertechnik und

Mehr

19 Collections Framework

19 Collections Framework Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.

Mehr

12 Collections Framework. Interfaces Maps and Collections. Collection Interface. Überblick. Collection = Containterklasse, die andere Objekte enthält.

12 Collections Framework. Interfaces Maps and Collections. Collection Interface. Überblick. Collection = Containterklasse, die andere Objekte enthält. Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Interfaces Maps and Collections Iterable Collection Map Vorteile: Set List Queue SortedMap

Mehr

19 Collections Framework

19 Collections Framework Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.

Mehr

Kapitel 12: Java Collection Teil II

Kapitel 12: Java Collection Teil II Kapitel 12: Java Collection Teil II Übersicht Set und TreeSet Map und TreeMap 12-1 In diesem Kapitel Iterable Interface Klasse extends implements Collection Queue List Set Map Deque

Mehr

Kapitel 12: Java Collection Teil II

Kapitel 12: Java Collection Teil II Kapitel 12: Java Collection Teil II Übersicht Set und TreeSet Map und TreeMap 12-1 In diesem Kapitel Iterable Interface Klasse extends implements Collection Queue List Set Map Deque

Mehr

Propädeutikum Programmierung in der Bioinformatik

Propädeutikum Programmierung in der Bioinformatik Propädeutikum Programmierung in der Bioinformatik Java Collections Thomas Mauermeier 15.01.2019 Ludwig-Maximilians-Universität München Collections? Was ist eine Collection? Container für mehrere Objekte

Mehr

OCP Java SE 8. Collections

OCP Java SE 8. Collections OCP Java SE 8 Collections Collections (Interfaces) Iterable Collection Set List Queue SortedSet Deque Collection List erlaubt Duplikate und null behält die Reihenfolge Set erlaubt keine Duplikate Queue

Mehr

Rechtsbelehrung. Java und OOP Das Buch Christian Silberbauer 144

Rechtsbelehrung. Java und OOP Das Buch Christian Silberbauer   144 Rechtsbelehrung Dieser Foliensatz ist urheberrechtlich geschützt. Änderungen an den Folien sind untersagt. Ausschließlich eine nicht-kommerzielle Nutzung ist kostenfrei. Andernfalls wird eine Gebühr fällig.

Mehr

Java Generics & Collections

Java Generics & Collections Praktikum Effizientes Programmieren (Sommersemester 2018) Dennis Reuling 1 / 1 Praktikum Effizientes Programmieren (Sommersemester 2018) Agenda Teil 1 Generics 2 / 1 Praktikum Effizientes Programmieren

Mehr

Programmieren in Java

Programmieren in Java Datenstrukturen 2 Wiederholung: Typvariable Analog zu Variablen, die für Daten stehen, stehen Typvariablen für einen bestimmten Typ Typvariablen werden im in der Klassendefinition nach dem Klassennamen

Mehr

java.util. Sebastian Draack Department Informations- und Elektrotechnik Department Informations- und Elektrotechnik JAVA Collection-API

java.util. Sebastian Draack Department Informations- und Elektrotechnik Department Informations- und Elektrotechnik JAVA Collection-API Sebastian java.util.* Draack JAVA Collection-API 1 Collection-API Begriffe Einleitung, Motivation Iterator Comparator Interfaces Abstrakte Klassen Konkrete Klassen Utility-Klassen Beispiele Zusammenfassung

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit Aufgabe : Die allgemeine Object-Liste Gegeben sei folgendes UML-Klassendiagramm: MyObjectList

Mehr

Programmiertechnik II

Programmiertechnik II Programmiertechnik II Datentypen Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen:

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 15 Einstieg in die Informatik mit Java Collections Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 15 1 Überblick Collections 2 Hierarchie von Collections 3 Verwendung

Mehr

Nützliche Utility-Klassen des JDK

Nützliche Utility-Klassen des JDK Nützliche Utility-Klassen des JDK java.util :, Properties, I18N, Scanner java.text : Ausgabeformatierung u.a. java.util.prefs : Hierarchische Konfigurationsdaten (1.5) java.util.logging : Aufzeichnung

Mehr

Programmieren in Java

Programmieren in Java Datenstrukturen 2 Gruppierung von Daten Datentypen, die eine Menge an Daten gruppieren und auf dieser Gruppierung eine gewisse Logik bereitstellen werden Datenstrukturen genannt Bisher wurde zur Gruppierung

Mehr

Programmiertechnik II

Programmiertechnik II Datentypen in Java Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen: float,

Mehr

Selbststudium OOP7 & ALG2 Auftrag

Selbststudium OOP7 & ALG2 Auftrag Selbststudium OOP7 & ALG2 Auftrag Kapitel 5.6 1. zu bearbeitende Aufgaben: 5.24 bis 5.30 5.24: Return Method Set entryset() V get(object key) Set keyset() V put(k key, V value) void

Mehr

Collections. Arthur Zaczek. Nov 2015

Collections. Arthur Zaczek. Nov 2015 Arthur Zaczek Nov 2015 1 Collections 1.1 Definition Anhäufung von Objekten Werte können hinzugefügt, gesucht und gelöscht werden Implementierung mit verschiedenen Algorithmen, je nach Nutzung 1.2 Grundlegende

Mehr

Programmieren in Java

Programmieren in Java Datenstrukturen 2 Was bisher geschah Bisher wurden zur Gruppierung von Daten immer Arrays genutzt Bis auf die Index-Funktion gibt es allerdings keinerlei logischer Operationen, mit denen der Array manipuliert

Mehr

Programmieren in Java

Programmieren in Java Datenstrukturen 2 Was bisher geschah Bisher wurden zur Gruppierung von Daten immer Arrays genutzt Bis auf die Index-Funktion gibt es allerdings keinerlei logischer Operationen, mit denen der Array manipuliert

Mehr

1. Welches Interface ist nicht von Collection abgeleitet? A. B. C. D. List Set Map SortedSet. 2. Welche Aussagen sind richtig?

1. Welches Interface ist nicht von Collection abgeleitet? A. B. C. D. List Set Map SortedSet. 2. Welche Aussagen sind richtig? Prof. Dr. Detlef Krömker Ashraf Abu Baker Robert-Mayer-Str. 10 60054 Frankfurt am Main Tel.: +49 (0)69798-24600 Fax: +49 (0)69798-24603 EMail: baker@gdv.cs.uni-frankfurt.de 1. Welches Interface ist nicht

Mehr

Programmieren 1 09 Vererbung und Polymorphie

Programmieren 1 09 Vererbung und Polymorphie Programmieren 1 09 Vererbung und Polymorphie Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 I. VERERBUNG 2 2 Vererbung Von Interfaces übernehmen

Mehr

Programmiertechnik II

Programmiertechnik II Datentypen in Java Primitive Typen in Java Wertesemantik (keine Referenzsemantik) Vordefinierte Hüllklassen (etwa java.lang.float) Integrale Typen: char, byte, short, int, long Gleitkommatypen: float,

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Überblick Parametrisierte Datentypen mit Java Generics Java Collections Framework Parametrisierte

Mehr

Programmieren 2 15 Abstrakte Datentypen

Programmieren 2 15 Abstrakte Datentypen Programmieren 2 15 Abstrakte Datentypen Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Verallgemeinerte Datenbehälter Typ, der eine variable

Mehr

Java Collections Framework (JCF)

Java Collections Framework (JCF) Algorithmen & Datenstrukturen Bachelor Medieninformatik Fachbereich DCSM FH Wiesbaden University of Applied Sciences Thomas Frenken frenken@informatik.fh-wiesbaden.de Inhaltsverzeichnis 1. Das Java Collections

Mehr

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe Maximale Größe?! Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um Dynamische Anpassung der Größe Praktische Informatik I, HWS 2009, Kapitel 10 Seite

Mehr

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 338

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 338 Wo sind wir? Java-Umgebung Lexikale Konventionen Datentypen Kontrollstrukturen Ausdrücke Klassen, Pakete, Schnittstellen JVM Exceptions Java Klassenbibliotheken Ein-/Ausgabe Collections Threads Applets,

Mehr

Collections des Typs Set. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 09: Collections 3. Collections des Typs Set.

Collections des Typs Set. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 09: Collections 3. Collections des Typs Set. Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Vorlesung 09: Collections 3 Eigenschaften Eine Collection vom Typ Set ist die Java- Repräsentation einer mathematischen Menge. Sie enthält

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren 12 Java API Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION

Mehr

Objektorientiertes Programmieren mit Java

Objektorientiertes Programmieren mit Java Java - Collections Objektorientiertes Programmieren mit Java 1 Java Collections Gliederung Grundlagen Die Klassen Vector, Stack, HashTable und BitSet Der Typ List Iteratoren Set und Map Sortierte Collections

Mehr

Java Schulung. Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen. Prof. Dr. Nikolaus Wulff

Java Schulung. Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen. Prof. Dr. Nikolaus Wulff Java Schulung Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen Prof. Dr. Nikolaus Wulff Collections in Java 2 Java 2 Collections: http://java.sun.com/products/jdk/1.2/docs/guide/collections/index.html

Mehr

equals und hashcode SortedSet NavigableSet Assoziative Container Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32

equals und hashcode SortedSet NavigableSet Assoziative Container Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32 equals und hashcode SortedSet NavigableSet Assoziative Container 2 / 32 HashSet mit eigener Klasse Wie kann man einen

Mehr

Hashmap: Video Erklärung

Hashmap: Video Erklärung Hashmap Hashmap: Video Erklärung Definition und Motivation Array: Zugriff über Index=Zahl Wert(Value) Schlüssel(Key) Maier, Klaus 21 Array Hashtag: Zugriff über einen nichtnumerischen Wert 06431 92310

Mehr

Collections. Arthur Zaczek

Collections. Arthur Zaczek Collections Arthur Zaczek Nov 2015 1/31 Collections Collections 2/31 Definition Anhäufung von Objekten Werte können hinzugefügt, gesucht und gelöscht werden Implementierung mit verschiedenen Algorithmen,

Mehr

Info B VL 14: Java Collections/Reflections

Info B VL 14: Java Collections/Reflections Info B VL 14: Java Collections/Reflections Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 14: Java Collections/Reflections

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE38-Generics (Stand 28.09.2012) Aufgabe 1: Schauen Sie sich die generischen Klassen des Paketes java.util an. Aufgabe 2: Ausgangslage sind die folgenden

Mehr

Softwareentwicklung II (IB) Blatt 4. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Softwareentwicklung II (IB) Blatt 4. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Softwareentwicklung II (IB) Blatt 4 Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 19.05.2018 23:27 Abgabe der Aufgabe auf diesem Blatt: bis 13.06.18, 08:00 Uhr durch Pushen

Mehr

12 Abstrakte Klassen, finale Klassen und Interfaces

12 Abstrakte Klassen, finale Klassen und Interfaces 12 Abstrakte Klassen, finale Klassen und Interfaces Eine abstrakte Objekt-Methode ist eine Methode, für die keine Implementierung bereit gestellt wird. Eine Klasse, die abstrakte Objekt-Methoden enthält,

Mehr

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 4 ArrayList, PriorityQueue, HashSet und HashMap

Javakurs FSS Lehrstuhl Stuckenschmidt. Tag 4 ArrayList, PriorityQueue, HashSet und HashMap Javakurs FSS 2012 Lehrstuhl Stuckenschmidt Tag 4 ArrayList, PriorityQueue, HashSet und HashMap Array List Dynamisches Array ArrayList vertritt ein Array mit variabler Länge Kapazität passt sich automatisch

Mehr

Algorithmen und Datenstrukturen in Java. 2007 Jiri Spale, Algorithmen und Datenstrukturen in Java 1

Algorithmen und Datenstrukturen in Java. 2007 Jiri Spale, Algorithmen und Datenstrukturen in Java 1 Algorithmen und Datenstrukturen in Java 2007 Jiri Spale, Algorithmen und Datenstrukturen in Java 1 Enumeratoren und Iteratoren Daten üblich gespeichert in: - Arrays, verketteten Listen, Bäumen, Geläufige

Mehr

Java Generics & Collections

Java Generics & Collections Java Praktikum Effizientes Programmieren (Sommersemester 2015) Dennis Reuling Agenda 1 2 3 1 / 30 Praktikum Effizientes Programmieren (Sommersemester 2015) Java Subtyping Teil 1 2 / 30 Praktikum Effizientes

Mehr

Teil V. Generics und Kollektionen in Java

Teil V. Generics und Kollektionen in Java Teil V Generics und Überblick 1 Parametrisierbare Datenstrukturen in Java 2 Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 5 1 Parametrisierbare Datenstrukturen in Java Motivation für

Mehr

Generische Polymorphie in Java-

Generische Polymorphie in Java- Generische Polymorphie in Java- Johannes Waldmann (HTWK Leipzig) Plan Beispiel Collections, Iteratoren, Maps Schnittstellen und Implementierungen Genaueres zum Typsystem Details zu Implementierungen zur

Mehr

Allgemeine Informatik II

Allgemeine Informatik II Klausur zur Vorlesung Allgemeine Informatik II Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2009 (Klausur SS09) Termin: 3. 9. 2009 Name: Vorname: Matrikelnummer: Fachrichtung: Punkte:

Mehr

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types)

Objektorientierte Programmierung. Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass: OOP (Java), 22. Aufzählungstypen 1/20 Objektorientierte Programmierung Kapitel 22: Aufzählungstypen (Enumeration Types) Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Schein-/Bachelorklausur Teil 2 am Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock.

Schein-/Bachelorklausur Teil 2 am Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock. Schein-/Bachelorklausur Teil 2 am 13.02.2007 Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock. Alle Studiengänge außer Bachelor melden sich über die Lehrstuhlwebseite

Mehr

Programmieren 2 16 Java Collections und Generizität

Programmieren 2 16 Java Collections und Generizität Programmieren 2 16 Java Collections und Generizität Bachelor Medieninformatik Wintersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Faulheit professionell: Fertige Datenbehälter

Mehr

Grundkonzepte java.util.list

Grundkonzepte java.util.list Grundkonzepte java.util.list Eine List ist eine Spezialisierung einer allgemeinen Ansammlung (Collection): Lineare Ordnung ist definiert Zugriff über Rang oder Position Volle Kontrolle wo eingefügt bzw.

Mehr

Softwareentwicklung II (IB) Blatt 5. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Softwareentwicklung II (IB) Blatt 5. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Softwareentwicklung II (IB) Blatt 5 Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 12.06.2018 21:35 Inhaltsverzeichnis Aufgabe 1 Vorlesungen und Prüfungen 1 Group........................................

Mehr

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.

Heute. Nachbetrachtung Wissensüberprüfung. Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12. Heute Nachbetrachtung Wissensüberprüfung Sortieren Interface Comparable TreeSet Sortieren von Arrays: Arrays.sort() 3.12.2015 IT I - VO 9 1 Organisatorisches Zwischentest findet am 16.12. von 17:30 bis

Mehr

12.3 Ein Datenmodell für Listen

12.3 Ein Datenmodell für Listen Zweiter Versuch: Wir modellieren ein Element der Liste zunächst als eigenständiges Objekt. Dieses Objekt hält das gespeicherte Element. Andererseits hält das Element- Objekt einen Verweis auf das nächste

Mehr

Mengen und Multimengen

Mengen und Multimengen Überblick 21. Datenstrukturen 21.1 Einleitung 21.2 Listen 21.3 Assoziative Speicher 21.4 Bäume 21.5 Mengen 21.6 Das Collections-Framework in Java 21 Datenstrukturen 5 Mengen Einf. Progr. (WS 08/09) 870

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 11: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes

Mehr

Objektorientierung III

Objektorientierung III Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 10 9.1.2017 Objektorientierung III Aufgabe 10.1. Wir sind doch alle gleich In der Vorlesung

Mehr

Prüfung Softwareentwicklung II (IB)

Prüfung Softwareentwicklung II (IB) Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IB 2 B, IB 2 C Sommersemester 2013 Prüfung Softwareentwicklung II (IB) Datum : 11.07.2013, 08:30 Uhr

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Lernziele Abstrakte Datentypen Stack und Queue zu implementieren und anzuwenden Vorteile von parametrischer Polymorphie

Mehr

II.4.4 Exceptions - 1 -

II.4.4 Exceptions - 1 - n 1. Unterklassen und Vererbung n 2. Abstrakte Klassen und Interfaces n 3. Modularität und Pakete n 4. Ausnahmen (Exceptions) n 5. Generische Datentypen n 6. Collections II.4.4 Exceptions - 1 - Ausnahmen

Mehr

Tutoraufgabe 1 (Collections):

Tutoraufgabe 1 (Collections): Prof. aa Dr. J. Giesl Programmierung WS17/18 M. Hark, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Collections): In dieser Aufgabe geht es um die Implementierung einer Datenstruktur für Mengen, welche in

Mehr

Einführung in die Programmierung Generische Programmierung. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung Generische Programmierung. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung 10.0 Generische Programmierung Thomas R. Gross Department Informatik ETH Zürich Copyright (c) Pearson 2013 and Thomas Gross 2016 All rights reserved. Uebersicht

Mehr

Kapitel 6: Java Collection Teil I

Kapitel 6: Java Collection Teil I Kapitel 6: Java Collection Teil I Übersicht Bemerkungen Collection List LinkedList und ArrayList Queue und Deque ArrayDeque 6-1 In diesem Kapitel Die Java-API enthält eine Sammlung von generischen Schnittstellen

Mehr

Objektorientierte Programmierung. Kapitel 21: Einführung in die Collection Klassen

Objektorientierte Programmierung. Kapitel 21: Einführung in die Collection Klassen Stefan Brass: OOP (Java), 21. Collection Klassen 1/30 Objektorientierte Programmierung Kapitel 21: Einführung in die Collection Klassen Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester

Mehr

Weiterführende Themen

Weiterführende Themen Collections-Framewort Weiterführende Themen 13 13. Collections-Framewort Weiterführende Themen Hash-Tabellen und Bäume Bei größeren Datenmengen, die in Form von Arrays oder verketteten Listen gespeichert

Mehr

Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen

Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen Faulheit professionell: Fertige Datenbehälter Das Java-Collections-Framework Typsicherheit Generische Klassen Das Java Collections Framework Grundlegende Interfaces Das Interface List Das Interface List

Mehr

ADT: Java Collections und ArrayList

ADT: Java Collections und ArrayList ADT: Java Collections und ArrayList Überblick der Klassen Object File Collections Map List Set ArrayList LinkedList SortedSet HashSet SortedSet Methode ArrayList Klasse I Beschreibung void add(int position,

Mehr

Grundlagen der Informatik 0

Grundlagen der Informatik 0 Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg

Mehr

Teil VII. Hashverfahren

Teil VII. Hashverfahren Teil VII Hashverfahren Überblick 1 Hashverfahren: Prinzip 2 Hashfunktionen 3 Kollisionsstrategien 4 Aufwand 5 Hashen in Java Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 7 1 Hashverfahren:

Mehr

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1 IT I: Heute Klasse Object equals, hashcode, tostring HashSet 14.11.2017 IT I - VO 6 1 Wissensüberprüfung Wie ruft man statische Methode auf? Gegeben Klasse Fix mit statischer Methode static boolean foxi(string

Mehr

Tag 8 Repetitorium Informatik (Java)

Tag 8 Repetitorium Informatik (Java) Tag 8 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Informatik-Repetitorium

Mehr

Software Entwicklung 1

Software Entwicklung 1 Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Was gefällt Ihnen? Sehr ausführliches Skript Fragen / Aufgaben in der Vorlesung Praktische Beispiele Tolle Aufgabenblätter

Mehr

Die Java - Collections API

Die Java - Collections API Die Java - API HAW - Hamburg 16. April 2011 Inhaltsüberblick 1 Intention Schlüsselworte Klassenübersicht von und Maps HashCode Binärbäume Interface: Comparable 2 Collection Map 3 List und Queues Sets Maps

Mehr

Objektorientierte Programmierung Studiengang Medieninformatik

Objektorientierte Programmierung Studiengang Medieninformatik Objektorientierte Programmierung Studiengang Medieninformatik Hans-Werner Lang Hochschule Flensburg Vorlesung 5 12.04.2017 Was bisher geschah... Objektorientierte Programmierung Klassen und Objekte, Attribute

Mehr

Informatik II Übung 6

Informatik II Übung 6 Informatik II Übung 6 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 11.4.2018 Carina Fuss 11.4.2018 1 Übung 6 Nachbesprechung Übung 5 Objektorientierung Vererbung, Polymorphie, abstrakte Klassen, Interfaces,

Mehr

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue

C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections. Leibniz Universität IT Services Anja Aue C# - Einführung in die Programmiersprache Arrays, Enumeration und Collections Leibniz Universität IT Services Anja Aue Arrays... speichern mehrere Werte vom gleichen Datentyp. fassen zusammenhängende Werte

Mehr

Allgemeine Informatik II SS :30-11:30 Uhr

Allgemeine Informatik II SS :30-11:30 Uhr TU Darmstadt FB Informatik Prof. J. Fürnkranz Semestralklausur - Lösungsvorschlag Allgemeine Informatik II SS 2005 20.07.2005 09:30-11:30 Uhr Hinweise: Als Hilfsmittel ist nur ein schwarzer oder blauer

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Java Generics und Java API (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Datenstrukturen In vielen Sprachen

Mehr

Programmierzertifikat Objekt-Orientierte Programmierung mit Java

Programmierzertifikat Objekt-Orientierte Programmierung mit Java Programmierzertifikat Objekt-Orientierte Programmierung mit Java Vorlesung 07: Collections Peter Thiemann Universität Freiburg, Germany SS 2008 Peter Thiemann (Univ. Freiburg) Programmierzertifikat Objekt-Orientierte

Mehr

Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)

Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18) Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 11: Software-Entwicklung 1 (WS 2017/18)

Mehr

Softwareentwicklung II (IB) Blatt 2. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Softwareentwicklung II (IB) Blatt 2. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München Softwareentwicklung II (IB) Blatt 2 Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 18.04.2018 08:07 Abgabe der Aufgabe auf diesem Blatt: bis 02.05.18, 08:00 Uhr durch Pushen

Mehr

Kapitel 4: Bäume i. 1. Einleitung. 2. Ein Datenmodell für Listen. 3. Doppelt-verkettete Listen. 4. Bäume. 5. Das Collections-Framework in Java

Kapitel 4: Bäume i. 1. Einleitung. 2. Ein Datenmodell für Listen. 3. Doppelt-verkettete Listen. 4. Bäume. 5. Das Collections-Framework in Java Kapitel 4: Bäume i 1. Einleitung 2. Ein Datenmodell für Listen 3. Doppelt-verkettete Listen 4. Bäume 5. Das Collections-Framework in Java Prof. Dr. Peer Kröger: EiP (WS 18/19) Teil 11: Datenstrukturen

Mehr

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Einführung. B6.2 Symboltabellen. B6.3 Einfache Implementationen

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Einführung. B6.2 Symboltabellen. B6.3 Einfache Implementationen Algorithmen und Datenstrukturen 03. April 2019 B6. Symboltabellen a Algorithmen und Datenstrukturen B6. Symboltabellen 1 Marcel Lüthi and Gabriele Röger Universität Basel 03. April 2019 a Folien basieren

Mehr

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1

IT I: Heute. Klasse Object. equals, hashcode, tostring. HashSet IT I - VO 6 1 IT I: Heute Klasse Object equals, hashcode, tostring HashSet 13.11.2018 IT I - VO 6 1 Organisatorisches Wissensüberprüfung gleich im Anschluss an die VO UE heute schon früher (ab 11:45) heute beide UE-Gruppen

Mehr

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1 IT I: Heute abstrakte Methoden und Klassen Interfaces Interfaces List, Set und Collection 22.11.2018 IT I - VO 7 1 Wissensüberprüfung Überschreiben von Methoden: Aufruf der Methode der Oberklasse ist oft

Mehr

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017 Fakultät IV NI & CV Java Einführung in die Informatik Wintersemester 2016/2017 Hinweis: Diese ist eine kleine Aufgabensammlung, die etwa dem Schwierigkeitsgrad der schriftlichen Prüfung des Moduls Einführung

Mehr

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur

Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli Klausur Universität Augsburg, Institut für Informatik Sommersemester 2001 Prof. Dr. Martin Ester 16. Juli 2001 Stefan Holland Informatik II Hinweise: Klausur Verwenden Sie für Ihre Lösungen ausschließlich den

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 09: Vererbung Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil Einführung in die Vererbung Motivation Das Schlüsselwort extends Einführendes

Mehr

Vom objektorientierten Entwurf zur Implementierung in Java. 2. Dezember 2014

Vom objektorientierten Entwurf zur Implementierung in Java. 2. Dezember 2014 Vom objektorientierten Entwurf zur Implementierung in Java 2. Dezember 2014 Überblick Verwendung von Frameworks und Bibliotheken Was enthält die Java Standard Edition? Implementieren mit dem Java Collections

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

ALP II Dynamische Datenmengen Datenabstraktion

ALP II Dynamische Datenmengen Datenabstraktion ALP II Dynamische Datenmengen Datenabstraktion O1 O2 O3 O4 SS 2012 Prof Dr Margarita Esponda M Esponda-Argüero 1 Dynamische Datenmengen Dynamische Datenmengen können durch verschiedene Datenstrukturen

Mehr