Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper
|
|
- Lioba Adler
- vor 5 Jahren
- Abrufe
Transkript
1 Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 1
2 Einleitung Collections sind Datenstrukturen für Sammlungen von Daten Stacks Queues Priority Queues Trees Maps Collection-Frameworks bieten Schnittstellen und Klassen für den Umgang mit Sammlungen Collection-Frameworks sind ein zentraler Bestandteil jeder Klassenbibliothek z.b. Standard Template Library von C++ Smalltalk's collection classes Namespace von.net Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 2
3 Historie In der Java-Klassenbibliothek unterscheidet man zwei Mengen von Klassen die Collections realisieren. 1. die traditionellen Klassen (seit 1.0) - Vector - Stack - Hashtable - Dictionary - Bitset 2. das Collection API (seit 1.2) - Umfangreiches API (Sorting...) 1 & 2 existieren seit 1.2 parallel Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 3
4 Die traditionellen Klassen Realisiert eine Liste mit Direktzugriff die wachsen kann. Stapel (push pop) & Zuordnung von Schlüsseln auf Werte Realisiert eine Menge von Bits die einzeln gesetzt werden können. Unterstützt Operationen wie Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 4
5 Entwurfsziele des Collection-API in sich konsistentes Framework für Collections stellt alle wesentlichen Features für Collections zur Verfügung trotzdem überschaubar und leicht zu erlernen (siehe Zitat) effizient erweiterbar muss alte Collection-Klassen integrieren Zitat Collections Framework Overview : An interface contains a method only if either: 1. It is a truly fundamental operation: a basic operations in terms of which others could be reasonably defined 2. There is a compelling performance reason why an important implementation would want to override it. Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 5
6 Collection-Framework Grundlagen Collections-Framework besteht aus: Collection Interfaces Definition von Abstrakten Datentypen. General-purpose Implementations Pimäre Implementierungen der Interfaces Legacy Implementations traditionelle Klassen Wrapper Implementations Möglichkeiten die Basisimplementierungen mit zusätzlicher Funktionalität zu versehen. Convenience Implementations Spezielle hocheffiziente Implementierungen. Abstract Implementations Partielle Implementierungen als Basis für die konkreten Klassen und für eigene Erweiterungen Algorithms Oft gebrauchte nützliche Algorithmen auf Collections Infrastructure Weitere Interfaces als Unterstützung der Collection Interfaces. Array Utilities Zusammenarbeit mit Arrays Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 6
7 Klassenhierarchie: Interfaces und konrete Klassen Collection Map List Set SortedMap HashMap ArrayList LinkedList SortedSet HashSet TreeMap TreeSet Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 7
8 Interface ist elementares Interface für Sammlungen Basic Operations (müssen implementiert werden): enthalten sein ist leer und Anzahl der Elemente Iterator Optionale Operationen (können implementiert sein): Anfügen von Elementen Löschen Beibehalten von Elementen)! " # $$ %! &! '! (! )! $$ %! &!! %! &! &! Umwandlung in Arrays $$ %*+&! %*+&%*+! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 8
9 Anmerkungen zu Gestaltung der Methoden Konkrete Klassen sollten zwei Konstruktoren besitzen Zum Erzeugen einer leeren Sammlung Zum Erzeugen mit Elementen einer exisitierenden Sammlung Optionale Operationen können - %'. werfen z.b. Hinzufügen zu unveränderbare Sammlungen Boolesche Methoden Rückgabewert gibt an ob sich Sammlung verändert hat Verwendung von Wrapper-Klassen für primitive Datentypen / ( 0 Konvertierung in Array Als %-Array Als Array eines bestimmten Typs (Array des gewünschten Typs wird als Parameter übergeben) 012&0! %*+%1&! 3*+313*+&23*4+! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 9
10 Iteration über Elemente Interface ( dient zum Iterieren über die Elemente ersetzt' aus alter API Elemente können entfernt werden Methodennamen wurden verbessert " ( # 5.! %.!! Beispiel: 5 # ( 1! 2 5.# % 1.! " " 5 #! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 10
11 Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 11
12 Interface 0 0 ist ein spezielles Interface welches von einer Reihenfolge der Elemente ausgeht Damit hat jedes Element eine Position Und es sind folgende zuätzliche Operationen definiert: Einfügen an einer bestimmten Position Zugriff auf ein Element an einer bestimmten Position Löschen eines Element an einer bestimmten Position Position eines Elements Spezieller 0( " 0. # $$.6%! %.! %.! %.6%! $$.%"%! (.%"%! $$ 0( (! 0( (.! Elemente in einem bestimmten Bereich $$ 0 0 "(.6 (.! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 12
13 Interface 0( Interface 0( erlaubt erweiterte Iteration über Elemente Damit sind folgende zusätzliche Methoden definiert: Iteration nach hinten und nach vorne Einfügen an der aktuellen Position Setzen des aktuell gelesenen Elements Abfrage der Position des nächsten und vorherigen Elements " 0(. ( # 5.! 3! %.!.(.! %! (.! %!! %! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 13
14 Implementierungen von Collection-Interfaces AbstractCollection abstrakte Klassen AbstractList AbstractSet AbstractMap Abstract SequentialList LinkedList ArrayList HashSet TreeSet HashMap TreeMap konkrete Klassen LinkedHashSet LinkedHashMap IdentityHashMap Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 14
15 Implementierungen von Collection-Interfaces: Überblick Implementations Hash Table Resizable Array Balanced Tree Linked List Hash Table + Linked List Set HashSet TreeSet LinkedHashSet Interfaces List ArrayList LinkedList Map HashMap TreeMap LinkedHashMap Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 15
16 Implementierungen von 0 Es gibt zwei alternative Implementierungen von List: 00: doppelt verkette Liste gut bei Einfügen in der Mitte schlecht bei direktem Zugrif auf Element &0: auf der Basis von Arrays gut bei direktem Zugriff schlecht beim Einfügen von Elementen Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 16
17 Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 17
18 Interface Entspricht dem mathematischen Konzept der Menge d.h. Elemente können maximal einmal enthalten sein Vergleich der Elemente erfolgt mit 7 prinzipiell als Element zulässig Keine Aussage über Reihenfolge der Elemente hat identische Methoden wie Collection Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 18
19 Interface wie aber Sortierung der Elemente Sortierkriterium kann sein: : Elemente müssen -Interface implementieren und Vergleich der Elemente erfolgt mittels 8-Methoden : dem wird ein eigenes -Objekt übergeben mit dem die Elemente verglichen werden " # 8%! ". #! % "! % '! %! % "'6% '! % "'! " # % 96% :! 7 %! 7 Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 19
20 Implementierungen von Implementierungen von : : - Auf der Basis von Hashtabellen - schneller Zugriff und schnelles Einfügen Implementierungen von : 8: - Auf der Basis von Red-Black-Trees - binäre Sortierung Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 20
21 Beispiel und 3 # %96%:# 3139! 313:! 58 5! ! 2 3";6";6"0);! 2 3"/);6"<;6"=);! 2 3"%;6";6">;!$$" Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 21
22 Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 22
23 Interface < Abbildung von Schlüsseln auf Werte Jeder Schlüssel maximal einmal enthalten Vorsicht bei veränderlichen Schlüsselwerten Jeder Eintrag ist ein Objekt vom Typ <' " < # $$?%! %! % %! '! )! $$! % % 6%! &<! % %! " <' # %?! $$ 2 %!! % %!!! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 23
24 Interface < wie < aber mit Sortierung der Schlüssel " <.< #! %"?! %?! < <% "?6%? Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 24
25 Implementierungen von < Implementierungen von <: <: - Auf der Basis von Hashtabellen - schneller Zugriff und Einfügen 0<: - zusätzlich definierte Reihenfolge auf Basis von Linked-Lists ><: - schwache Referenzen der Werte (<: - Vergleich der Keys auf Referenzgleichheit Implementierungen von <: 8<: - Auf der Basis von Red-Black-Trees - binäre Sortierung Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 25
26 Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 26
27 Hilfsklasse Klasse bietet eine Vielzahl von -Methoden für: Algorithmen Erzeugen von Wrapper für die Collection-Implementierungen Algorithmen in Collections: # 0 6%! 0 6% 6! 0 60! "0 6%! %.! %. 6! %! % 6! 0 6%! 0! ""0! ""0 6@! %! 00%! < <% 6%! 0! 0 6! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 27
28 Beispiel Algorithmen: Mischen von Karten Folgende Methode mischt Karten 0 "" # *+ 12 *+#;;6;;6;;6; ;! *+122 *+#;;6;:;6;A;6;B;6;C;6;D;6;E;6;F;6 ;G;6;94;6;;6;7 ;6;;! 012 &0! " 14!H!II# " 14!H!II# *+I;";I *+! ""!! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 28
29 Wrapper Collection-Frameworks erlaubt über Wrapper besimmte Sichten von - Objekten zu erzeugen Diese Sichten realisieren das entsprechende Interface mit bestimmten Zusätzen Zwei wichtige Wrapper sind Wrapper mit: )-Methoden: exklusiver Zugriff auf Collection pro Thread "-Methoden: unveränderliche Sicht auf Collection Klasse bietet Methode solche Wrapper zu erzeugen: )! )! 0)00! < )<<! )! < )<<! "! "! 0 "00! < "<<! "! < "<<! Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 29
30 Zusammenfassung Listen Elemente in fester Reihenfolge Zugriff auf Elemente über Index möglich Suchfunktionen Mengen Elemente maximal einmal enthalten Eventuell sortiert Abbildungen Abbildung von Schlüsselobjekten auf Wertobjekte Iteration über Elemente Mittels ( beziehungsweise 0( Hilfsklasse Zum Suchen Füllen Mischen und Sortieren Zum Erzeugen synchronisierter oder unveränderbarer Sammlungen Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 30
31 Literatur Java 2 SDK Standard Edition Documentation Guide to Features - Collection Framework Horstmann Cornell Core Java 2 Band 2 - Expertenwissen Markt und Technik 2002: Kapitel 2 Krüger Handbuch der Java-Programmierung 3. Auflage Addison-Wesley Kapitel 14 und 15 Pratikum SWE 2 M. Löberbauer T. Kotzmann H. Prähofer 31
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
MehrNü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
MehrKapitel 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
Mehr19 Collections Framework
Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.
Mehr19 Collections Framework
Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.
Mehr12 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
MehrDatenstrukturen. Ziele
Datenstrukturen Ziele Nutzen von Datenstrukturen Funktionsweise verstehen Eigenen Datenstrukturen bauen Vordefinierte Datenstrukturen kennen Hiflsmethoden komplexer Datenstrukten kennen Datenstrukturen
MehrWo 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,
MehrMengen und Multimengen
Überblick 17. Datenstrukturen 17.1 Einleitung 17.2 Listen 17.3 Assoziative Speicher 17.4 Bäume 17.5 Mengen 17.6 Das Collections-Framework in Java 17.7 Zusammenfassung 17 Datenstrukturen 5 Mengen Informatik
MehrProblem: 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
MehrMengen 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
MehrEnterprise Java, Services und Systemintegration. Wie gut kennst Du das Collections Framework? Historie
Enterprise Java, Services und Systemintegration Wie gut kennst Du das Collections Framework? @thfro http://www.frotscher.com thilo@frotscher.com Historie JDK 1.0 1996 Vector, Stack, Hashtable, Dictionary
Mehrjava.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
MehrJAVA 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)
MehrEinstieg 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
MehrDynamische Datenstrukturen
Dynamische Datenstrukturen B-Bäume größere Datenmengen verwalten Extern speichern Art der Speicherung berücksichtigen sonst kein optimaler Datenzugriff möglich Art der Speicherung großer Datenmengen Magnetplatten
MehrCollections. 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
MehrIT 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
MehrGrundlagen 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
MehrProgrammiertechnik 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:
MehrPropä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
MehrProgrammiertechnik 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,
MehrInfo 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
MehrSoftware 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
MehrMocking Libraries Shootout
Mocking Libraries Shootout Warum ist Mocking interessant? Ermöglicht Tests ohne echte Testumgebung Schnelle Tests durch gute Test-Isolation Kontrolle des indirekten Inputs Simulation von Fehlern Überprüfung
MehrSchein-/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
MehrTeil 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
MehrProgrammieren I. Kapitel 13. Listen
Programmieren I Kapitel 13. Listen Kapitel 13: Listen Ziel: eigene Datenstrukturen erstellen können und eine wichtige vordefinierte Datenstruktur( familie) kennenlernen zusammengehörige Elemente zusammenfassen
MehrJava 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
MehrSammlungen. Inhalt. Einleitung. Listen und Queues. Mengen. Abbildungen. Algorithmen und Wrapper. Zusammenfassung
Sammlungen Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Inhalt Einleitung Listen und Queues Mengen Abbildungen Algorithmen und Wrapper Zusammenfassung Pratikum SWE 2 M. Löberbauer, T. Kotzmann,
MehrProgrammiertechnik 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,
MehrTeil 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:
MehrSammlungen. Listen Mengen Abbildungen Algorithmen Wrapper. Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1
Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Einleitung Collections sind Datenstrukturen für Sammlungen von Daten Stacks Queues Mengen
MehrFaulheit 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
MehrAbstrakte Datentypen und Java
Abstrakte Datentypen und Java ƒ hehueolfn ƒ 5HDOLVLHUXQJYRQ$'7 NRQNUHWH'DWHQW\SHQ %HLVSLHO5DWLRQDOH=DKO ƒ 3DUDPHWULVLHUWH'DWHQW\SHQ %HLVSLHO)HOG6RUWLHUWHV)HOG ƒ 6FKQLWWVWHOOHQNRQ]HSW ƒ :LFKWLJH'DWHQW\SHQLQ-DYD
MehrJavakurs für Fortgeschrittene
Javakurs für Fortgeschrittene Einheit 09: Weitere Datenstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda Datenstrukturen Motivation Die Collection API Interface Collection
MehrObjektorientierte Implementierung
Objektorientierte Implementierung 10) Verfeinern von Assoziationen mit dem Java-2 Collection Framework Softwaretechnologie, Prof. Uwe Aßmann, Prof. Heinrich Hussmann 1 Objektorientierte Implementierung
MehrAlgorithmen 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
MehrProgrammierkurs 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
MehrCollections. 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,
MehrJava 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
MehrJava 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]...
MehrAufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen
Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen Aufgabenblatt 4 Aufgabe 1 1. Erläutern Sie in eigenen Worten die Begriffe Datenstruktur, Datentyp und abstrakter Datentyp. Nutzen Sie das Beispiel
MehrObjektorientiertes 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
MehrGrundkonzepte 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.
MehrGrundlagen der Informatik Generische Klassen
Grundlagen der Informatik Generische Klassen Generische Klassen, das Java-Collection-Framework und mehr Generische Programmierung Beobachtung: In vielen Problemstellungen hängt der grundsätzliche Aufbau
MehrProgrammieren 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
MehrTeil II) Objektorientierte Implementierung 10) Verfeinern von UML-Assoziationen mit dem Java-2 Collection Framework
Teil II) Objektorientierte Implementierung 10) Verfeinern von UML-Assoziationen mit dem Java-2 Collection Framework Prof. Dr. rer. nat. Uwe Aßmann Institut für Software- und Multimediatechnik Lehrstuhl
MehrEinfü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
MehrPraktikum Softwareentwicklung 2
Praktikum Softwareentwicklung 2 SS 2005 Dipl.-Ing. Thomas Kotzmann Dipl.-Ing. Markus Löberbauer Dipl.-Ing. Dr. Herbert Prähofer Institut für Systemsoftware Johannes Kepler Universität Linz Pratikum SWE
MehrALP 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
Mehr11. Elementare Datenstrukturen
11. Elementare Datenstrukturen Definition 11.1: Eine dynamische Menge ist gegeben durch eine oder mehrer Mengen von Objekten sowie Operationen auf diesen Mengen und den Objekten der Mengen. Dynamische
MehrPhysikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt
Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur Objektorientierte Programmierung im WS 2003/04 (IA 252) Zeit: 90 Minuten erlaubte Hilfsmittel: keine
MehrProgrammiertechnik II WS 2017/18
Programmiertechnik II WS 2017/18 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel WS 17/18 Überblick OOP: Schnittstellen
MehrProgrammiertechnik II SS Fakultät Informatik Bachelor Angewandte Informatik
Programmiertechnik II SS 2017 Fakultät Informatik Bachelor Angewandte Informatik Prof. Dr. Oliver Bittel bittel@htwg-konstanz.de www-home.htwg-konstanz.de/~bittel SS 2017 Überblick! OOP: Schnittstellen
MehrAssoziative Container in C++ Christian Poulter
Assoziative Container in C++ Christian Poulter Seminar: Die Sprache C++ Mat-Nr.: 53 03 129 EMail: inf@poulter.de Christian Poulter Assoziative Container in C++ Seite 1/10 Inhalt 1. Einleitung: Container...
MehrJava-Grundkurs für rtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für rtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung- Fortgeschrittene Konzepte kennenlernen Betriebswirtschaftlich orientierte
MehrObjektsammlungen. Programmieren 2. Konzepte (Wiederholung vom Dienstag)
Vgl. Kapitel 4 im BlueJ-Buch. Bis Kapitel 6 bleiben wir weiter dicht am BlueJ-Buch, das somit die eigentliche Referenz bildet. Objektsammlungen Andreas Zeller 1 Programmieren 2 Andreas Zeller 2 Konzepte
MehrCollections. Datamining und Sequenzanalyse. Marvin Meusel, Bertram Vogel
Collections Datamining und Sequenzanalyse Marvin Meusel, Bertram Vogel Arrays Arrays Arrays erzeugen int[] arr1 = new int[3] int[] arr2 = {1,2,3 Falls möglich primitive Datentypen verwenden int[] arr1
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1
Kapitel 13 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 15/16. Kapitel 12. Listen. Listen 1
Kapitel 12 Listen Listen 1 Ziele Implementierungen für Listen kennenlernen Einfach verkettete und doppelt verkettete Listen verstehen Listen-Implementierungen in der Java-Bibliothek kennenlernen Durch
MehrJava-Grundkurs für Wirtschaftsinformatiker
Klaus-Georg Deck Herbert Neuendorf Java-Grundkurs für Wirtschaftsinformatiker Die Grundlagen verstehen - Objektorientierte Programmierung - Fortgeschrittene Konzepte kennenlernen - Betriebswirtschaftlich
MehrAlgorithmen und Datenstrukturen CS1017
Algorithmen und Datenstrukturen CS1017 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Datenstruktur, Datentyp, Datenabstraktion Abstrakter Datentyp / Datenabstraktion Kollektionen
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa / Arnd Poetzsch-Heffter AG Softech FB Informatik TU Kaiserslautern Abstrakte Datentypen: Maps Bieniusa/Poetzsch-Heffter Software Entwicklung 1 2/ 48 Abstrakte Datentypen:
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Kürzeste Wege, Heaps, Hashing Heute: Kürzeste Wege: Dijkstra Heaps: Binäre Min-Heaps Hashing:
MehrB2.1 Abstrakte Datentypen
Algorithmen und Datenstrukturen 21. März 2018 B2. Abstrakte Datentypen Algorithmen und Datenstrukturen B2. Abstrakte Datentypen B2.1 Abstrakte Datentypen Marcel Lüthi and Gabriele Röger B2.2 Multimengen,
MehrMapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.
Mapra: C++ Teil 4 Felix Gruber IGPM, RWTH Aachen 6. Mai 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mai 2015 1 / 22 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien
MehrEinführung in die STL
1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung
MehrProgrammierkurs Java
Programmierkurs Java Java Generics und Java API (2/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Listen Bisher: Collections
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen B3. ADTs, Bags, Stack and Queues Marcel Lüthi and Gabriele Röger Universität Basel 21. März 2019 Abstrakte Datentypen Abstrakte Datentypen : Definition Abstrakter Datentyp
Mehr4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java)
4. Algorithmen und Datenstrukturen I Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 8./15. November 2005 Einordnung
MehrÜbung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Marc Bux, Humboldt-Universität zu Berlin Agenda 1. (Sortierte) Listen 2. Stacks & Queues 3. Datenstrukturen 4. Rekursion und vollständige Induktion
MehrCS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)
CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik) Datentypen und Datenstrukturen Selbst definierte Datenstrukturen Innere Klassen Seite 1 Typen: 1. Kasper 2. Prinzessin 3. Großmutter
MehrProgrammieren 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
MehrWiederholung: Zusammenfassung Felder. Algorithmen und Datenstrukturen (für ET/IT) Definition Abstrakter Datentyp. Programm heute
Wiederholung: Zusammenfassung Felder Algorithmen und Datenstrukturen (für ET/IT) Wintersemester / Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Ein Feld A kann repräsentiert
MehrDie 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
MehrInstitut für Informatik
Technische Universität München Institut für Informatik Lehrstuhl für Computer Graphik & Visualisierung WS 2009 Praktikum: Grundlagen der Programmierung Aufgabenblatt 9 Prof. R. Westermann, R. Fraedrich,
MehrInformatik II. 1. Einführung. Inhalte der Vorlesung. Ziele der Vorlesung. Vorlesung am D-BAUG der ETH Zürich
Informatik II Vorlesung am D-BAUG der ETH Zürich 1. Einführung Felix Friedrich & Hermann Lehner Algorithmen und Datenstrukturen, Korrektheit, erstes Beispiel FS 2019 1 2 Ziele der Vorlesung Inhalte der
Mehr17. Java Collections. Daten Organisieren. Generische Liste in Java: java.util.list. Typ Parameter (,,Parametrischer Polymorphisums )
Daten Organisieren Datenstrukturen, die wir kennen 17 Java Collections Generische Typen, Interfaces, Java Collections, Iteratoren Heute: Arrays Sequenzen fixer Grösse Strings Buchstabensequenzen Verkettete
MehrEinführung in die STL
Einführung in die STL Fimberger Lucia lfimberg@cosy.sbg.ac.at Nidetzky Marion mnidetzk@cosy.sbg.ac.at Was ist die STL? Abkürzung für Standard Template Library Eine generische Bibliothek Ist kaum objektorientiert,
MehrCounting - Sort [ [ ] [ [ ] 1. SS 2008 Datenstrukturen und Algorithmen Sortieren in linearer Zeit
Counting-Sort Counting - Sort ( A,B,k ). for i to k. do C[ i]. for j to length[ A]. do C[ A[ j ] C[ A[ j ] +. > C[ i] enthält Anzahl der Elemente in 6. for i to k. do C[ i] C[ i] + C[ i ]. > C[ i] enthält
MehrKapitel 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
MehrKapitel 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
MehrSammlungen. JOHANNES KEPLER UNIVERSITY LINZ Research and teaching network. Übung SWE 2 1
Sammlungen Übung SWE 2 1 Inhalt Einleitung Listen und Queues Mengen Abbildungen Algorithmen und Wrapper Zusammenfassung Übung SWE 2 2 Einleitung Collections sind Datenstrukturen für Sammlungen von Daten
MehrFallstudie: Online-Statistik
Fallstudie: Online-Statistik Ziel: Klasse / Objekt, welches Daten konsumiert und zu jeder Zeit Statistiken, z.b. Mittelwert, Varianz, Median (etc.) ausgeben kann Statistics s = new Statistics(maxSize);...
MehrProgrammieren in Java
Programmieren in Java Vorlesung 08: Collections Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 39 Inhalt Collections
Mehr12. Dynamische Datenstrukturen
Motivation: Stapel. Dynamische Datenstrukturen Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange, Implementationsvarianten der verketteten Liste 0 04 Motivation: Stapel ( push, pop, top, empty
Mehr12.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
MehrHeute. 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
MehrWiederholung aus SWE2
Wiederholung aus SWE2 Innere Klassen Diverse neue Sprachfeatures bei Java 1.5 Pratikum SWE 2 M. Löberbauer, T. Kotzmann, H. Prähofer 1 Inhalt Innere Klassen Diverse neue Sprachfeatures bei Java 1.5 Pratikum
MehrLanguages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008
Languages and Tools for Object-Oriented Development Klausur Wintersemester 2007/2008 27. Februar 2008 Institut für Softwaresysteme, TUHH Regeln: 1. Zu dieser Klausur sind keinerlei Hilfsmittel zugelassen.
MehrFachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt
Fachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt Aufgaben zur Klausur C und Objektorientierte Programmierung im WS 2003/04 (WI h103, II h105, MI h353) Zeit: 150 Minuten erlaubte Hilfsmittel:
Mehr