Die Java - Collections API

Größe: px
Ab Seite anzeigen:

Download "Die Java - Collections API"

Transkript

1 Die Java - API HAW - Hamburg 16. April 2011

2 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 4 Hilfsklasse 5 Iteratoren und Enumeratoren 6

3 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 4 Hilfsklasse 5 Iteratoren und Enumeratoren 6

4 Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Abschnitt Begriffe, Grundstruktur und Intention

5 Was ist die - API? Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Vorgefertigte Klassen zum effizienten Verwalten von Daten. Bequemer Zugriff über definierte Methoden. Generische Programmierung erlaubt breite Anwendbarkeit Für viele Zwecke ist bereits alles Werkzeug vorhanden.

6 Klassenübersicht Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum

7 Intention dieses Vortrages Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Gewinnen eines Überblicks Generelle Funktionsweise verstehen Grundlegende Methoden kennenlernen Nicht: Jede Methode besprechen. Was geht, was geht nicht? Schlüsselworte. Welche Klassengruppe passt zu welchem Konzept.

8 Klassenbaum von Collection Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum

9 Klassenbaum von Maps Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum

10 Schlüsselworte Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Tree Beschreibt, dass die betreffende Klasse Daten in einem Binärbaum speichert. Array Klassen mit diesem Schlüsselwort legen Referenzen in Arrays ab. Hash Zur Verwaltung der Daten wird HashCode eingesetzt. Linked Daten werden in einer verketteten Liste abgelegt. Priority Es ist eine Prioritätsverwaltung integriert. Blocking Funktioniert eine Aktion nicht, wird der zugehörige Thread gesperrt (Datenaustausch bei Multithreading).

11 Was ist HashCode? Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Das englische Wort Hash heißt etwa zerhacken, verstreuen. Es können aus größeren Datenmengen immer gleich große Werte errechnet werden, die nahezu eindeutig diese Datenmenge identifizieren. Das Verfahren wird genutzt, um bei größeren Datenbeständen, den Vergleich zu vereinfachen und zu beschleunigen. Statt der Daten selber wird der HashCode verglichen. Beispiel (Unix - Befehle): echo "HAW - Hamburg - WP Java Programmierung" sha1sum liefert e6d3edc031b b80a091c852cac456189c7.

12 Das Interface Comparable Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Enthält nur die auf die eigene Klasse anzupassende Methode int compareto(type objectname) Funktionsweise: Sollte immer dann implementiert werden, wenn Elemente verglichen werden müssen. Aufrufendes Element größer als das verglichene: Rückgabe positiv. Aufrufendes Element kleiner als verglichene: Rückgabe negativ. Sind beide Elemente gleich: Rückgabe Null.

13 Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Was versteht man unter binären Bäumen? Binärbäume bieten systematisches Sortieren während der Speicherung. Finden einzelner Elemente wird wesentlich beschleunigt. Regeln für Binärbäume Bestehen aus Knoten. Ein Knoten kann entweder ein Element enthalten oder leer sein. Knoten mit Element haben immer zwei Nachfolgeknoten (deshalb Binärbaum). Leere Knoten haben keine Nachfolger.

14 Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Wie sortiert man in Binärbäume ein? Es wird von oben nach unten vorgegangen. Neue Elemente werden schematisch mit vorhandenen verglichen. An einem gefüllten Knoten gilt: Neues Element größer als das des Knotens: Weiter auf rechtem Zweig Neues Element kleiner als das des Knotens: Weiter auf linkem Zweig Auf so erreichtem, leeren Knoten ablegen. Mit weiteren Elementen ebenso verfahren.

15 Wie liest man aus? Beteiligte Klassen Schlüsselworte HashCode Comparable Binärbaum Beispiel: InOrder - Auslesen Reihenfolge: Links - Wurzel - Rechts Wechselt man bei einer Wurzel die Seite (von linker auf rechte Seite), muss im neuen Ast wieder links unten begonnen werden. Beispiel JavaScript Applet zu binären Bäumen.

16 Das Interface Collection Das Interface Map Abschnitt Struktur, Eigenarten und Nutzungsmöglichkeiten

17 Das Interface Collection Das Interface Map Methoden der Schnittstelle Collection I

18 Das Interface Collection Das Interface Map Methoden der Schnittstelle Collection II addall( Collection <?> c ) : boolean Versucht die Collection c einzufügen. Rückgabe bei Erfolg True. contains( Object o ) : boolean Rückgabe True, falls der Container o enthält. containsall( Collection <?> c ) : boolean Rückgabe True, falls alle Elemente von c in der aufrufenden Collection gefunden. isempty( ) : boolean Rückgabe True falls keine Elemente enthalten sind. retainall( Collection <?> c ) : boolean Rückgabe True, wenn alle Elemente die nicht in c enthalten sind, entfernt werden konnten. size( ) : int Gibt die Anzahl der Elemente zurück.

19 Das Interface Collection Das Interface Map Methoden der Schnittstelle Collection III toarray( ) : Object[ ] Gibt ein Array mit allen Elementen vom Typ Object (sic!) zurück. toarray( T[] a ) : <T> T[] Gibt ebenfalls ein Array aller Elemente zurück. Allerdings wird versucht das als Parameter übergebene Feld zu nutzen. Ist dies zu klein, wird ein größeres des selben Typs erstellt und zurückgegeben. equals( Object o) : boolean Rückgabe True, wenn a) o das gleiche Element ist, wie jenes mit dem aufgerufen wird; b) o eine gleichende Collection ist; c) ggf. die Ordnung der Elemente innerhalb der Collection auch gleich ist. hashcode() : int Liefert den Hash - Wert des gesamten Containers. Achtung: Der Wert ist ungültig, wenn Veränderungen am Container vorgenommen werden.

20 Das Interface Collection Das Interface Map Methoden der Schnittstelle Collection IIII Optionale Methoden remove( Object o ) : boolean Rückgabe True, falls o entfernt werden konnte. removeall( Collection <? > c ) : boolean Rückgabe True, wenn alle Elemente von c entfernt werden konnten. add( Element e ) : boolean Rückgabe True, wenn e eingefügt werden kann. clear( ) Löscht alle Elemente.

21 Map: Unterschiede zu Collection Das Interface Collection Das Interface Map Deutsche Bezeichnung: Assoziativer Speicher. Es werden immer Datenpaare abgelegt (Schlüssel und Wert). Es können keine doppelten Schlüssel auftreten. Stammt nicht von Iterator ab (es gibt also keine Iteratoren für Maps). Elemente haben keine Position innerhalb der Map. Neue Datenpaare werden nicht mit add() hinzugefügt, sondern mit put (Schlüssel, Wert)

22 Methoden des Interface Map Das Interface Collection Das Interface Map Ähnlich den Methoden von Collection, aber immer Schlüssel - Wert Paare. Methoden um Wert bzw. Schlüssel gesondert zu finden.

23 Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Abschnitt Beispielhafte Nutzung konkreter Klassen

24 Ziel dieses Kapitels Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Dieser Abschnitt soll helfen, für einen bestimmten Zweck eine geeignete Klasse zu suchen, die sich instanziieren lässt. Es ist dabei als Leitfaden zu verstehen. Die letztendliche Entscheidung für eine bestimmte Geschmacksrichtung sollte z.b. anhand der Java - Hilfe erfolgen. Für die einzelnen Unterarten sind beispielhaft instanziierbare Klassen herausgegriffen. Es geht dabei eher um Stärken und Schwächen der einzelnen Arten, als um die Vorstellung aller Unterklassen.

25 ArrayList und LinkedList Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) ArrayList Nahe an den gewohnten Arrays aus Primitiven. Verfügen prinzipiell über einen Index. Reihenfolge kann erhalten bleiben. Doppelt verkettete Liste (LinkedList) Jedes Element ist mit seinem Vorgänger und seinem Nachfolger verknüpft. Elemente können beliebig eingestellt und entfernt werden. Suche nach einem Element langsam. Reihenfolge kann erhalten bleiben.

26 Queue und Deque Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Diese Klassen sind besonders beschränkte Listen. Queues Bei Queues gilt das FIFO Prinzip. Es können nur Daten in den Anfang eingestellt werden. Entnehmen kann man Daten nur am Ende des Queues. Die Reihenfolge kann nicht verändert werden. Methoden vorhanden, die Exceptions auslösen und solche, die das nicht tun. Deque (Double Ended Queue) Ähnlich den Queues. Es können Daten an Anfang und Ende gestellt werden. An Anfang und Ende kann man Daten entnehmen. Die Reihenfolge kann in einer Queue nicht verändert werden.

27 Zusammenfassung: Listen Anwendungsfall Geeignete Collection Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Grund Bekannte Messwerte Menge ArrayList voreingestellter Größe Reihenfolge + Schneller, linearer Zugriff Unbekannte Menge Messwerte LinkedList Reihenfolge + einfach vergrößerbar Kommunikation mit Thread Queue - Typen FIFO - Prinzip + spezielle Zugriffsmodifikatoren (BlockingQueues)

28 Zusammenfassung: Listen Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Gleichheit von Listen Zwei Listen l1 und l2 sind dann (equals -) gleich, wenn ihre Elemente und die Reihenfolge gleich sind. Also: LinkedList<String> l1 = new LinkedList<String>( Arrays.asList( "" ) ); ArrayList<String> l2 = new ArrayList<String>( Arrays.asList( "" ) ); System.out.println( l1.equals( l2 ) ); // true Beispiel Eclipse - Beispiele zu Lists...

29 TreeSet Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Sets sind Mengen im mathematischen Sinne. Gleichheit von Elementen Zwei Elemente e1 und e2 sind dann gleich, wenn die Methode e1.equals(e2) true liefert! Eine Menge kann nur ein Exemplar eines Elementes haben. Durch Nutzung des Binärbaums wird bei Einstellen der Elemente sortiert. Hinzufügen, Löschen, Suchen bestimmter Elemente geht (im Vergleich zu Listen) schneller (höchstens log(n) Schritte).

30 LinkedHashSet Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Beispiel Nutzt doppelt verkettete Listen und eine Hashwert - Tabelle. Einstellungs - Reihenfolge bleibt erhalten (wegen List - Bestandteilen). Vereint die Vorzüge von Hash (Geschwindigkeit) mit der Sortierung verketteter Listen. Typische Listenmethoden wie first() oder getindex(index) fehlen! Erhöhter Gebrauch von Speicher und Rechenzeit. Achtung: Beim Einstellen eines bereits vorhandenen Elementes ändert sich dessen Position nicht. Eclipse - Beispiel zu Sets..

31 TreeMap Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Es werden Schlüssel und Wert zusammen gespeichert. Sofortige Sortierung durch Binärbaum auf Grundlage des Schlüssels. Klasse implementiert NavigableMap und bietet damit recht viele Zugriffsmöglichkeiten.

32 Properties Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Die Klasse Properties ist besonders für Ini - Dateien geeignet. Beispiel Sowohl Schlüssel als auch Wert sind immer vom Typ String. Kann recht direkt in Dateien schreiben. Kann relativ direkt aus Dateien lesen. Geeignet, um Einstellungen eines Programmes zentral zu verwalten, dauerhaft zu speichern und wieder zu lesen. Eclipse - Beispiel zu Properties.

33 Zusammenfassung: Maps Intention Listen (List) und Queues Mengen (Set) Assoziativspeicher (Map) Anwendungsfall Geeignete Collection Grund Waren und deren Preise sortiert abspeichern TreeMap Sortierung z.b. nach Warennummer Ini - Dateien Properties Ausgabe in Text - Dateien, nur Strings

34 Welche gibt es? Wie nutzt man? Abschnitt (Utility - Classes) Nutzen, Gefahren und Zusammenhänge

35 Klassenübersicht von Welche gibt es? Wie nutzt man? Kennzeichen von Utility - Klassen Utility - Klassen können nicht instanziiert werden. Utility - Klassen sind nicht Bestandteil der betroffenen Klassen. Stellen Methoden bereit, die auf (oder Arrays) angewendet werden können. Manche Methoden greifen tief in die betroffenen Container ein.

36 Beispiele zur Nutzung - Welche gibt es? Wie nutzt man? sort(list list) Sortiert eine Liste nach natürlicher Ordnung (natural Order). swap(list list, int i, int j) Vertauscht Element i und j einer Liste. max(collection coll) : Object Gibt das, nach natürlicher Ordnung, größte Element einer Collection zurück. copy(list dest, List src) Kopiert alle Elemente von Liste src nach Liste dest. shuffle(list list) Erzeugt eine zufälle Reihenfolge der Elemente einer Liste.

37 Bestandteile eines Iterators Funktionsweise eines Iterators Einsatzgebiete von Iteratoren Abschnitt Iteratoren Zugehöriges Interface, Möglichkeiten und Einschränkungen

38 Prinzipbild eines Iterators Bestandteile eines Iterators Funktionsweise eines Iterators Einsatzgebiete von Iteratoren

39 Bestandteile von Iteratoren Bestandteile eines Iterators Funktionsweise eines Iterators Einsatzgebiete von Iteratoren Folgende Methoden werden implementiert: hasnext( ) : boolean Rückgabe True, wenn es ein Folgeelement gibt. next() : Object Gibt das nächste Element zurück. Falls es keines gibt (nicht per hasnext() geprüft), wird eine UnsupportedOperationException ausgelöst. remove() Entfernt das letzte Element, welches per next() geholt wurde. Wurde next() noch nicht aufgerufen, so wird eine IllegalStateException ausgelöst.

40 Wie funktionieren Iteratoren? Bestandteile eines Iterators Funktionsweise eines Iterators Einsatzgebiete von Iteratoren Man legt eine Referenz auf einen Iterator an und übergibt diesem das Objekt, welches durch den Aufruf der Container - Methode iterator() zurückgeliefert wird. Ein neuer Iterator steht immer vor dem ersten Element. Seine Methode next() gibt dann eine Referenz auf dieses erste Element zurück und rückt den Iterator vor das nächste Element. Mit hasnext() sollte vor Aufruf von next() geprüft werden, ob noch Elemente vorhanden sind.

41 Vor - und Nachteile von Iteratoren Bestandteile eines Iterators Funktionsweise eines Iterators Einsatzgebiete von Iteratoren + Durch die Iterator - for - Schleife ist das Durchlaufen aller Elemente einer Collection sehr einfach. + Kürzt immer gleiche Programmteile teilweise erheblich ab. + Vermeidet Fehler durch falsch gesetzte Iterationsgrenzen in for - Schleifen. - Iteratoren erlauben selber nur Zugriff auf das nächste Element und rücken dann vor. - Löschen per Iterator unbequem und gefährlich.. Beispiel Eclipse - Beispiel zu Iteratoren.

42 Abschnitt Hinweise und

43 Wichtige Punkte equals() Genau überlegen: Was genau soll wie verglichen werden? Solide Implementierung wichtig. compareto() Bei Allem, was sortiert werden soll wichtig. Auch hier: Am besten vorher Gedanken zur beabsichtigten Funktionsweise machen. Typisierte Referenz Für den Anfang am besten Referenzen immer vom gleichen Typ wie instanziierte Collection. Methoden die Elemente vom Typ Object liefern Vorsicht: Hier sollte man klar darauf achten, was man tut. Zugehörige Fehler dürften nämlich nur zur Laufzeit auftreten. T[] toarray(t[] a) statt Object[] toarray() Erstere Methode ist typensicher.

44 Quellen Java ist auch eine Insel von Christian Ullenboom Die Java Referenz von Oracle WW - Anwendungsentwicklung Die vorgestellten Applets

45 Ende Ende Vielen Dank für die Aufmerksamkeit Fragen?

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

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

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

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

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

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

Programmierkurs Java

Programmierkurs 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

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

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

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

Mengen und Multimengen

Mengen 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

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

Kapitel 5: Iterierbare Container

Kapitel 5: Iterierbare Container Kapitel 5: Iterierbare Container Foreach-Schleife Interface Iterator Interface Iterable Iterator-Schleife und Foreach-Schleife Generische Liste mit Iteratoren Prof. Dr. O. Bittel, HTWG Konstanz Programmiertechnik

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

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.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

Dynamische Datenstrukturen

Dynamische 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

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 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

Collections und Iteratoren ListIterator Sets. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22

Collections und Iteratoren ListIterator Sets. Programmieren II. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester / 22 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Collections und Iteratoren ListIterator Sets 2 / 22 Hierarchie von Collections Die sequenziellen Container (ArrayList

Mehr

Programmieren II. Hierarchie von Collections. Vorlesung 3. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010

Programmieren II. Hierarchie von Collections. Vorlesung 3. Handout S. 1. Dr. Klaus Höppner. Hochschule Darmstadt Sommersemester 2010 Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 22 Collections und Iteratoren ListIterator Sets 2 / 22 Hierarchie von Collections Die sequenziellen Container (ArrayList

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

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

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. Kapitel 13. Listen. Listen 1

Einfü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

Mehr

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

Einfü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

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

II.4.6 Collections - 1 -

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

Mehr

Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper

Sammlungen Listen Mengen Abbildungen Algorithmen Wrapper 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 Priority

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

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

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

Programmieren in Java

Programmieren 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

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

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

Kapitel 7: Java Collection Teil I

Kapitel 7: Java Collection Teil I Kapitel 7: Java Collection Teil I! Übersicht! Bemerkungen! Collection! List! LinkedList und ArrayList! Queue und Deque! ArrayDeque Prof. Dr. O. Bittel, HTWG Konstanz Programmiertechnik II Java Collection

Mehr

Datenstrukturen und Algorithmen. Vorlesung 5

Datenstrukturen und Algorithmen. Vorlesung 5 Datenstrukturen und Algorithmen Vorlesung 5 Inhaltsverzeichnis Vorige Woche: Sortierte Listen Zyrkuläre Listen Verkettete Listen auf Arrays Heute betrachten wir: Skip Listen ADT Set ADT Map Iterator ADT

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

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

Vorlesung 07: Collections. Peter Thiemann SS 2010

Vorlesung 07: Collections. Peter Thiemann SS 2010 Vorlesung 07: Collections Peter Thiemann Universität Freiburg, Germany SS 2010 Peter Thiemann (Univ. Freiburg) JAVA 1 / 45 Inhalt Collections Iteratoren Implementierungen Das Interface Collection Beispiel:

Mehr

Physikalisch Technische Lehranstalt Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt

Physikalisch 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

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

Aufgabenblatt 4. Aufgabe 3. Aufgabe 1. Aufgabe 2. Prof. Dr. Th. Letschert Algorithmen und Datenstrukturen

Aufgabenblatt 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

Mehr

Programmieren I. Kapitel 13. Listen

Programmieren 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

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

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

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

Übung Algorithmen und Datenstrukturen

Ü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

Mehr

Informatik II Übung 7. Gruppe 2 Carina Fuss

Informatik II Übung 7. Gruppe 2 Carina Fuss Informatik II Übung 7 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 18.4.2018 Carina Fuss 16.4.2018 1 Übung 7 Hinweise zum Programmieren Nachbesprechung Übung 6 Vorbesprechung Übung 7 ArrayList und Generics

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

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Teil 14: Verkettete Listen Martin Hofmann Steffen Jost LFE Theoretische Informatik, Institut für Informatik, Ludwig-Maximilians Universität, München Stack 18.

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java Vorlesung 05: Generics Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2015 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 19 Inhalt Generics

Mehr

Kapitel 12: Induktive

Kapitel 12: Induktive Kapitel 12: Induktive Datenstrukturen Felix Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung Praktische Informatik I im Herbstsemester 2009 Folien nach einer Vorlage von H.-Peter

Mehr

Datenstrukturen und Algorithmen. Vorlesung 8

Datenstrukturen und Algorithmen. Vorlesung 8 Datenstrukturen und Algorithmen Vorlesung 8 Inhaltsverzeichnis Vorige Woche: ADT Stack ADT Queue Heute betrachten wir: ADT Deque ADT Prioritätsschlange Binomial-Heap Schriftliche Prüfung Informationen

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

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

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume Algorithmen und Datenstrukturen 22. März 2018 B3. Verkettete Listen und Bäume Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume B3.1 Einführung Marcel Lüthi and Gabriele Röger B3.2 Verkettete

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume Marcel Lüthi and Gabriele Röger Universität Basel 22. März 2018 Einführung Abstrakter Datentyp / Datenstruktur Abstrakter Datentyp Eine Menge

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

Institut für Programmierung und Reaktive Systeme 24. April Programmieren II. 10. Übungsblatt

Institut für Programmierung und Reaktive Systeme 24. April Programmieren II. 10. Übungsblatt Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 24. April 2018 Programmieren II 10. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern

Mehr

Fachhochschule Wedel 31. Januar 2004 Prof. Dr. Uwe Schmidt

Fachhochschule 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

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

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

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

Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen. Sebastian Küpper

Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen. Sebastian Küpper Einführung in die Objektorientierte Programmierung Vorlesung 18: Lineare Datenstrukturen Sebastian Küpper Unzulänglichkeit von Feldern Wenn ein Unternehmen alle Rechnungen eines Jahres verwalten möchte,

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

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

public interface Stack<E> { public void push(e e); public E pop();

public interface Stack<E> { public void push(e e); public E pop(); ADS Zusammenfassung René Bernhardsgrütter 02.04.2012 1 Generics Gewähren Typsicherheit und können für verschiedene Datentypen ohne Casts verwendet werden. Beim Erstellen der Klasse werden Platzhalter für

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

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

Lineare Datenstrukturen: Felder, Vektoren, Listen Modelle: math. Folge (a i ) i=1.. mit Basistyp T oder: [T]

Lineare Datenstrukturen: Felder, Vektoren, Listen Modelle: math. Folge (a i ) i=1.. mit Basistyp T oder: [T] Teil II: Datenstrukturen Datenstrukturen Lineare Datenstrukturen: Felder, Vektoren, Listen Modelle: math. Folge (a i ) i=1.. mit Basistyp T oder: [T] Nichtlineare Datenstrukturen: Bäume Modell(e): spezielle

Mehr

Assoziative Container in C++ Christian Poulter

Assoziative 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...

Mehr

Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor

Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor Fortgeschrittene Programmiertechnik Klausur SS 2015 Angewandte Informatik Bachelor Name Matrikelnummer Aufgabe Punkte Aufgabe Punkte Zwischensumme 1 6 2 8 3 12 4 18 5 20 64 6 9 7 17 8 18 9 12 Summe 120

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

STL-Container und Laufzeit

STL-Container und Laufzeit STL-Container und Laufzeit Eine Übersicht Höhere Programmierung / C++ Yannick Kaiser, LMU 1 C++11 Array konstanter Länge, die bei der Initalisierung angegeben werden muss STL-Kapselung für klassische

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

Was ist ein assoziativer Speicher?

Was ist ein assoziativer Speicher? Ü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 3 Assoziative Speicher

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

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

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Java Generics und Java API Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer Programme verarbeiten Daten Häufig

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

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

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

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Übungsblatt 5 Objektorientierte Programmierung 22. 05. 2006 Aufgabe 9 (SMS-Eingabe am Handy mit Tries)

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

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

Algorithmen und Programmierung III

Algorithmen und Programmierung III Musterlösung zum 5. Aufgabenblatt zur Vorlesung WS 2006 Algorithmen und Programmierung III von Christian Grümme Aufgabe 1 Implementieren von ADTs Testlauf der Klasse TestDeque in der z05a1.jar: 10 Punkte

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

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

Datenstrukturen. Ziele

Datenstrukturen. Ziele Datenstrukturen Ziele Nutzen von Datenstrukturen Funktionsweise verstehen Eigenen Datenstrukturen bauen Vordefinierte Datenstrukturen kennen Hiflsmethoden komplexer Datenstrukten kennen Datenstrukturen

Mehr

Ordnung im Materiallager: Datenstrukturen II. Suchen und Sortieren im Array Verkettete Listen Rekursion

Ordnung im Materiallager: Datenstrukturen II. Suchen und Sortieren im Array Verkettete Listen Rekursion Ordnung im Materiallager: Datenstrukturen II Suchen und Sortieren im Array Verkettete Listen Rekursion Indizierter Datenbehälter Modell: Parkhaus, nummerierte Plätze interface FuhrparkIndex { // indiziert

Mehr

Abstrakte Datentypen und Java

Abstrakte 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

Mehr