Objektorientiertes Programmieren mit Java
|
|
- Helge Kolbe
- vor 5 Jahren
- Abrufe
Transkript
1 Java - Collections Objektorientiertes Programmieren mit Java 1 Java Collections
2 Gliederung Grundlagen Die Klassen Vector, Stack, HashTable und BitSet Der Typ List Iteratoren Set und Map Sortierte Collections Die Klasse Collections Typisierte Klassen und generische Collections Quellen 2 Java Collections
3 3 Java Collections
4 Allgemeines Datenstrukturen, die dazu dienen, Mengen von Daten aufzunehmen und zu verarbeiten Elementardaten speichern und zur Bearbeitung darauf zugreifen Zugriff nur mit Hilfe vorgegebener Methoden Oft in Zusammenhang mit Schleifen verwendet bei Mengendaten Neue Sichten auf die Daten definieren JDK 1.0 die»traditionellen«collections mit den Klassen Vector, Stack, Dictionary, Hashtable und BitSet Ab JDK 1.2 ein neues Collection-API eingeführt 4 Java Collections
5 Vector Lineare Liste Elemente beliebigen Typs Länge zur Laufzeit veränderbar Sequenziellen als auch wahlfreien Zugriff Array von Elementen des Typs Object Beliebige Objekte können an beliebiger Stelle in die Liste eingefügt g werden 5 Java Collections
6 Vector public Vector() Parameterlosen Konstruktors zum Anlegen leerer Vektoren public final boolean isempty() Überprüfung ob ein Vector leer ist public final int size() Liefert die Anzahl der Elemente public void addelement(object obj) An das Ende der bisherigen Liste von Elementen angehängt: public void insertelementat(obj obj, int index) An einer beliebigen Stelle eingefügt, dahinterliegende Elemente werden um eine Position weitergeschoben 6 Java Collections
7 Vector public Object firstelement() public Object lastelement() public Object elementat(int index) firstelement liefert das erste Element, lastelement das letzte und elementat greift auf das Element an Position index zu public boolean hasmoreelements() public Object nextelement() sequenziellen Zugriff auf die Elemente des Vektors durch Iterator 7 Java Collections
8 Stack LIFO-Prinzip vorderen Ende der Liste eingefügt und von dort auch wieder entnommen zuletzt eingefügten Elemente werden zuerst entnommen und die zuerst Eingefügten zuletzt Ableitung eines Vectors, der um neue Zugriffsfunktionen erweitert wurde 8 Java Collections
9 Stack public Stack() public Object push(object item) Anfügen neuer Elemente am oberen Ende des Stacks, Rückgabewert das eingefügte Objekt public Object pop(); public Object peek() Zugriff auf das oberste Element des Stacks, pop entfernt es public boolean empty() um festzustellen, ob der Stack leer ist public int search(object o) Suche nach beliebigen Element, Rückgabewert ist die Distanz zwischen gefundenem Element und oberstem Stack-Element 9 Java Collections
10 HashTable assoziativer Speicher für zusammengehörige Paare von Daten Bildet Schlüssel auf Werte ab und ermöglicht über den Schlüsselbegriff einen effizienten Zugriff auf den Wert 2 Merkmale: Kapazität gibt die maximale Anzahl der Elemente an Ladefaktor zeigt bei welchem Füllungsgrad die Hash-Tabelle vergrößert werden muss (automatisch) Einfügen und Zugriff auf Schlüssel nicht durch den == Operator, sondern durch die equals Methode, d.h. inhaltliche Gleichheit und nicht Referenzgleichheit 10 Java Collections
11 HashTable public Hashtable() public Object put(object key, Object value) Einfügen von Elementen bzw. vorhandene Werte durch Neue ersetzt public Object get(object key) liefert den dazu passenden Wert zum Schlüsselobjekt, sonst null public boolean contains(object value) public boolean containskey(object key) Prüfen auf bestimmten Schlüssel bzw. Wert, Rückgabewert true oder false 11 Java Collections
12 HashTable public Enumeration elements() liefert Iterator für die Auflistung der Elemente public Enumeration keys() liefert Iterator für die Auflistung der Schlüssel 12 Java Collections
13 BitSet Mengen ganzer Zahlen bzw. von (nicht) gesetzten Bits Zahlen einzufügen oder zu löschen und zu testen, ob bestimmte Werte in der Menge enthalten sind Möglichkeit, Teil- und Vereinigungsmengen zu bilden Zwei Mengen als Argumente nötig: aktuelles Objekt und eine weitere Menge als Parameter Ergebnis der Operation wird dem aktuellen Objekt zugewiesen 13 Java Collections
14 BitSet public BitSet() Erstellen eines leeren Objekts der Klasse BitSet public void set(int bit) Einfügen einer Zahl public void clear(int bit) Löschen eines Bits public boolean get(int bit) Abfrage, ob eine Zahl in der Menge enthalten ist 14 Java Collections
15 BitSet public void or(bitset set) Vereinigungsmenge public void and(bitset set) Durchschnittsmenge public void xor(bitset set) Vereinigung von Schnittmenge und Schnittmenge der Umkehrmengen public void andnot(bitset set) Ursprungsmenge gelöscht und korrespondierendes Bit in der Argumentmenge gesetzt 15 Java Collections
16 Verbesserungen ab Version 1.2 Geringe Vielseitigkeit im Vergleich zu der Sprache SmallTalk Galten vorher als nicht sehr performant Collection-Konzept im Rahmen der Version 1.2 neu Drei Grundformen Set, List und Map Grundformen sind als Interface implementiert, jeweils eine oder mehrere konkrete Implementierungen mit unterschiedlichen Datenstrukturen und Algorithmen Aufbau: Implementierungsvariante vor den Namen, dann eine spezifische Bezeichnung Beispiel: List hat die Implementierungsvarianten LinkedList und ArrayList sowie die abstrakte Implementierung AbstractList 16 Java Collections
17 Basisinterface Collection Vielzahl von Methoden, die weiter vererbt werden Ein parameterloser Konstruktor wird verwendet, um eine leere Collection anzulegen. Ein weiterer, der ein einzelnes Collection-Argument besitzt um eine neue Collection anzulegen und mit allen Elementen aus der als Argument übergebenen Collection zu füllen 17 Java Collections
18 List geordnete Menge von Objekten sequenziell oder über ihren Index zugreifbar erste Element den Index 0 und das letzte den Index size() 1 Einfügen oder Löschen von Elementen an beliebigen Stelle möglich, weitere Objekte werden dann nach rechts bzw. links verschoben 18 Java Collections
19 List void add(int index, Object element) boolean add(object o) hängt sie das Element an das Ende der Liste an mit zusätzlichem Index wird s an der spezifizierten Position eingefügt und alle übrigen Elemente um eine Position nach rechts geschoben boolean addall(collection c) boolean addall(int index, Collection c) ähnlich für eine komplette Collection True wenn eingefügt, false bei doubletten, sonst exceptions 19 Java Collections
20 List Object remove(int index) boolean remove(object o) der Index oder das Objekt selbst löschen boolean removeall(collection c) Löschen der Elemente, die in einer anderen Collection enthalten sind boolean retainall(collection c) Belässt Elemente, die in einer anderen Collection enthalten sind 20 Java Collections
21 List Klasse AbstractList ist eine abstrakte Basisklasse LinkedList realisiert eine Liste, deren Elemente als doppelt verkettete lineare Liste gehalten werden (Einfüge- und Löschoperationen sind im Prinzip (viele Elemente vorausgesetzt) performanter) Klasse ArrayList implementiert die Liste als Array von Elementen, das bei Bedarf vergrößert wird (wahlfreier Zugriff schneller, aber bei großen Elementzahlen kann das Einfügen und Löschen länger dauern als bei einer LinkedList) 21 Java Collections
22 Iteratoren boolean hasnext() gibt genau dann true zurück, wenn der Iterator mindestens ein weiteres Element enthält Object next() liefert das nächste Element bzw. löst eine Ausnahme des Typs NoSuchElementException aus bei keinen weiteren Elemente void remove() zuletzt geholte Element werden gelöscht einzige erlaubte Möglichkeit, die Collection während der Verwendung eines Iterators zu ändern 22 Java Collections
23 ListIterator nur bei Collections des Typs List (und daraus abgeleiteten Klassen) zur Verfügung boolean hasprevious() Bestimmen, ob es vor der aktuellen Position ein weiteres Element gibt Object previous() der Zugriff darauf int nextindex() int previousindex() Rückgabewert ist der Index des nächsten bzw. vorigen Elements des Iterators, size() am Ende bzw. -1 am Ende 23 Java Collections
24 ListIterator void add(object o) Ein neues Element an der Stelle in die Liste eingefügen, die unmittelbar vor dem nächsten Element des Iterators liegt void set(object o) erlaubt es, das durch den letzten Aufruf von next bzw. previous beschaffte Element zu ersetzen. 24 Java Collections
25 ListIterator Foreach-Schleife Übersichtliche modifizierte Schleife um Arrays von Anfang bis Ende zu durchlaufen for (Iterator it = v.iterator(); it.hasnext(); ) { Object o = it.next(); System.out.println(o); } for (int i = 0; i < args.length; g ++i) { System.out.println(args[i]); } for (int a:args) args) { System.out.println(a); } 25 Java Collections
26 Set ähnlich der List, erlaubt aber im Gegensatz zu dieser keine doppelten Elemente Mathematisch eine Menge in der auch keine doppelten Elemente vorkommen dürfen Bei jedem add() bzw. addall() darf x.equals(y) nie wahr sein, sonst false als Rückgabewert Besondere Vorsicht bei veränderlichen Objects auf die noch über Referenzen zugegriffen werden könnte (undefiniert/unbenutzbar) lediglich einen einfachen Iterator ohne definierte Reihenfolge 26 Java Collections
27 Map assoziativen Speicher, der Schlüssel auf Werte abbildet Schlüssel und Werte sind Objekte eines beliebigen Typs Je Schlüssel gibt es entweder keinen oder genau einen Eintrag in der Collection Methoden aus dem Interface Collections Object put(object key, Object value) neues Schlüssel-Wert-Paar eingefügt g bzw. dem bereits vorhandenen Schlüssel ein neuer Wert zugeordnet (Austausch) void putall(map p t) Wie put() aber für alle Werte der übergebenen Map 27 Java Collections
28 Map Object get(object key) Wert zu einem Schlüssel holen Rückgabewert vom Typ Object oder null (!) boolean containskey(object key) Test ob Schlüssel enthalten ist boolean containsvalue(object value) Test ob Wert mindestens einmal enthalten ist 28 Java Collections
29 Map Keine Iteratoren, dafür Umweg über verschieden Sichten (views) public Set keyset() Liefert Set der Schlüssel public Collection values() Collection aus Menge der Werte erzeugt public Set entryset() Menge von Schlüssel-Wert-Paaren (Methoden getkey, getvalue) 29 Java Collections
30 Sortierte Collections Implementieren des Interface Comparable, um Sets und Maps in bestimmte Reihenfolge zu bringen public int compareto(object o) Aktuelles Element wir mit einem anderen vergleichen Kleiner 0, gleich 0 und größer als 0 als Rückgabewert public int compare(object o1, Object o2) Zwei zu vergleichende Elemente 30 Java Collections
31 Sortierte Collections SortedSet und TreeSet mit weiteren Methoden: Object first() und Object last() Erstes und letztes Element in der Reihenfolge SortedSet headset(object toelement) Alle Elemente echt kleiner als das Argument SortedSet subset(object fromelement, Object toelement) alle Elemente größer oder gleich fromelement und kleiner als toelement SortedSet tailset(object fromelement) Alle Elemente größer oder gleich dem Argument 31 Java Collections
32 Sortierte Collections Ähnlich für SortedMap undtreemap: Object first() Object last() SortedMap headmap(object toelement) SortedMap submap(object fromelement, Object toelement) SortedMap tailmap(object fromelement) 32 Java Collections
33 Die Klasse Collections Enthält statische Methoden zur Manipulation und Verarbeitung von Collections : Durchsuchen, Sortieren, Kopieren, Synchronisieren und Extraktion von Elementen static void sort(list list, Comparator c) Arbeitet mit mergesort static int binarysearch(list list, Object key, Comparator c) Schnellen Suche in sortierten Listen 33 Java Collections
34 Die Klasse Collections static Collection synchronizedcollection(collection c) Synchronisierten Zugriff auf Collections static Collection unmodifiablecollection(collection c) Erzeugen einer unveränderlichen Collections 34 Java Collections
35 Typisierte Klassen und generische Collections Die Möglichkeit typsichere Collection-Klassen zu definieren, d.h. Sicherstellen eines konkreten Typs von Objekten (wie Integer oder String) Einfügeoperationen sind typsicher, also prüft schon der Compiler ob die Objektetypen passen Vermeidung von späteren ClassCastException und umständlichen Typkonvertierungen beim Auslesen Vector<Integer> v = new Vector<Integer>() 35 Java Collections
36 Quellen Guido Krüger,Thomas Stark: Handbuch der Java-Programmierung Reinhard Schiedermeier: Programmieren mit Java - Eine methodische Einführung Skript Pernads/Klinker: Einführung in Java 36 Java Collections
37 Vielen Dank für die Aufmerksamkeit 37 Java Collections
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)
Mehr19 Collections Framework
Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.
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.
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
Mehr19 Collections Framework
Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.
MehrOCP 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
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
MehrKapitel 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
MehrObjektorientierte 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
MehrRechtsbelehrung. 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.
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
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:
MehrKapitel 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
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
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,
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
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
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
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
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
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
MehrKapitel 14. Das Java Collection Interface. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz
Kapitel 14 Das Java Collection Interface 14. Das Java Collection Interface 1. Collections 2. Iteratoren (Iterators) 3. Listen (List) 4. Mengen (Set) 5. Hashtabellen (Map) 6. Generics Folie 14.2 Das Java
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]...
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,
Mehr4.4.9 Das Java Collection Framework
4.4.9 Das Java Collection Framework eine Sammlung von Interfaces, die die Organisation von Objekten in Container unterstützt Spezifikation von Methoden zur Unterstützung der Erstellung von Collections
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
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
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
MehrKapitel 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
MehrCollections 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
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
MehrProgrammieren 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
MehrObjektorientierte Softwareentwicklung
Objektorientierte Softwareentwicklung Part 6 Exceptions und Collections Die Inhalte der Vorlesung wurden primär auf Basis der angegebenen Literatur (siehe Part 1) erstellt. Darüber hinaus sind Teile direkt
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 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
MehrAlgorithmen 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
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
MehrSammlungen 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
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
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
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
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,
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,
MehrÜ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
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
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
MehrProgrammieren 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
MehrADT: 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,
MehrProgrammieren 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
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
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
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
MehrEinfü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.
MehrCollections 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
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
MehrProgrammieren 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
MehrListen. Prof. Dr. Christian Böhm. in Zusammenarbeit mit Gefei Zhang. WS 07/08
Listen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang http://www.dbs.ini.lmu.de/lehre/nfinfosw WS 07/08 2 Ziele Standardimplementierungen für Listen kennenlernen Listeniteratoren verstehen
Mehr1. 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
MehrAllgemeine 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:
MehrVorlesung 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
Mehr2.4. Java Collections Framework
Softwaretechnik 1 Vorlesung 2.4. Java Collections Framework Prof. Dr. Bernhard Rumpe Technische Universität Braunschweig http://www.sse.cs.tu-bs.de/ Seite 2 Java Klassenbibliothek Java: Objektorientierte
Mehr2. Datenstrukturen und Algorithmen in C++ und Java
2. Datenstrukturen und Algorithmen in C++ und Java Datenstrukturen und Algorithmen sind eng miteinander verbunden. Die Wahl der richtigen Datenstruktur entscheidet über effiziente Laufzeiten. Beide erfüllen
MehrII.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
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
MehrJava I Vorlesung Collections
Java I Vorlesung 5 Collections 24.5.2004 Abstrakte Klassen und Interfaces Arrays Java Collections Framework Abstrakte Klassen: Motivation Häufig will man eine Klasse schreiben, die nur als Basisklasse
MehrII.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
MehrSoftware 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
MehrJava 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
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
MehrSoftware 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
MehrLineare 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
MehrEinführung in die Programmiersprache Java III
Einführung in die Programmiersprache Java III Konstanten, Enums Konstanten Konstante Werte sollten einmal definiert und dann mit ihrem Namen benutzt werden. Lesbarkeit, Vermeidung von Tippfehlern ggf.
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...
MehrRückblick: Inf A - Algorithmen. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 07: Collections 1. Inhalt.
Universität Osnabrück 1 Rückblick: Inf A - Algorithmen 3 - Objektorientierte Programmierung in Java Vorlesung 07: Collections 1 SS 2006 Prof. Dr. F.M. Thiesing, FH Osnabrück Abstrakte Datentypen Liste
MehrC# - 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
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
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Semestralklausur Einführung in die Programmierung Semestralklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList
MehrALP II Dynamische Datenmengen
ALP II Dynamische Datenmengen Teil III Iteratoren Iterator-Objekt O1 O2 O3 O4 SS 2012 Prof. Dr. Margarita Esponda 22. ALP2-Vorlesung, M. Esponda 2 Motivation: Iteratoren Wir haben für die Implementierung
Mehr12 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,
Mehr6. Interfaces Grundlagen der Programmierung 1 (Java)
6. Interfaces Grundlagen der Programmierung 1 (Java) Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 22. November 2005 Einordnung im Kontext der Vorlesung
MehrProgrammieren 2 Übung Semesterwoche 2
Programmieren 2 Übung Semesterwoche 2 1. Stack (LIFO: Last-In--First-Out) Implementieren und testen Sie eine Klasse Stack, so dass beliebig viele Objekte eines vorgegebenen Datentyps (z. B. String) auf
Mehr3. Übungsbesprechung Programmkonstruktion
3. Übungsbesprechung Programmkonstruktion Karl Gmeiner karl@complang.tuwien.ac.at December 12, 2011 K Gmeiner (karl@complang.tuwien.ac.at) 3. Übungsbesprechung PK December 12, 2011 1 / 13 Rückblick und
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
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
MehrAlgorithmen und Datenstrukturen CS1017
Algorithmen und Datenstrukturen CS1017 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Datenstrukturen I: Lineare Sequenzen / Listen Datenstrukturen für Sequenzen Sequenzen in der Java-API:
MehrDatenstrukturen 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
Mehr2.2 Spezifikation abstrakter Datentypen. 2.3 Implementierung und Anwendung von ADT. 2.4 Datenabstraktion und Objektorientierung
Inhaltsverzeichnis (update) 2 Datenabstraktion 2.1 Begriffe 2.2 Spezifikation abstrakter Datentypen 2.2.1 Algebraische Spezifikation 2.2.2 Modellierende Spezifikation 2.3 Implementierung und Anwendung
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
MehrGenerische 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
MehrEinfü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,
Mehr1. Die rekursive Datenstruktur Liste
1. Die rekursive Datenstruktur Liste 1.6 Die Datenstruktur Stapel Ein Stack, auch Stapel oder Keller genannt, ist eine Datenstruktur, bei der die Elemente nur an einem Ende der Folge eingefügt bzw. gelöscht
MehrProgrammieren 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