Java Collection Framework
|
|
- Tobias Kopp
- vor 7 Jahren
- Abrufe
Transkript
1 Java Collection Framework Programmiermethodik Eva Zangerle Universität Innsbruck
2 Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle Themen Generische Programmierung Java Collection-Framework Streams Unit-Tests Einleitung Ausgewählte Klassen Iteratoren Wichtige Themen Entwurfsmuster - Eine Einführung GUI-Programmierung Java Virtual Machine Ausblick Programmiermethodik - Java Collections 2
3 Einleitung
4 Motivation Programmierer benötigt sehr oft bestimmte Datenstrukturen. Datenstrukturen sollten schon vorhanden sein. Datenstrukturen sollten generisch sein. Allgemeine Algorithmen (anwendbar auf unterschiedliche Datenstrukturen) sollten vorhanden sein. Lösung? Java Collection-Framework Programmiermethodik - Java Collections 4
5 Grundlagen Collection-Framework befindet sich im Paket java.util. Für unterschiedliche Datenstrukturen stehen unterschiedliche Interfaces zur Verfügung. Die Interfaces geben die Schnittstellen für den Zugriff auf die Datenstrukturen an (z.b. Einfügen in Listen). Die konkrete Verwaltung wird durch konkrete Implementierungen dieser Interfaces bestimmt. Seit Java 1.5 ist das Collection-Framework generisch. Jedes Interface kann durch unterschiedliche Implementierungen unterstützt werden (z.b. LinkedList, ArrayList). Es gibt Algorithmen, die auf Collection-Objekte (Listen etc.) angewandt werden können (z.b. Sortieren). Programmiermethodik - Java Collections 5
6 Interfaces (Überblick) Interfaces sind die Grundlage (java.util.collection oder java.util.map) Basisoperationen (Hinzufügen, Finden, etc.) Mengenoperationen (andere Collection einfügen) Feldoperationen (z.b. andere Ansichten auf key/value) Applikationen sollten ihren Code ausschließlich auf Interfaces aufbauen Austauschbarkeit. Interfaces bilden Hierarchien. Programmiermethodik - Java Collections 6
7 Collection Interfaces (Seit 1.5) Collection Eine Collection verwaltet Objekte (Elemente). Interface enthält generelle Methoden (für alle Collection-Typen). Es gibt keine direkte Implementierung dieses Interfaces. Set Eine Collection die keine duplizierten Elemente enthält. List Eine geordnete Collection (mit duplizierte Elementen) Elemente können über einen Index angesprochen werden (nicht immer effizient). Queue Verwaltung von Warteschlangen (ähnlich zu Listen) FIFO, Prioritätswarteschlangen Map SortedSet und SortedMap Maps verwalten Schlüssel mit dazugehörigen Werten. Schlüssel sind eindeutig. Jeder Schlüssel kann einen dazugehörigen Wert haben. Sind spezielle Versionen von Set und Map, bei denen die Elemente (Schlüssel) in aufsteigender Reihenfolge verwaltet werden. Programmiermethodik - Java Collections 7
8 Implementierung Es gibt unterschiedliche Ansätze für die Implementierung von konkreten Collection-Klassen: Generelle Implementierungen, die häufig in Applikationen verwendet werden. Spezielle Implementierungen Nebenläufige Implementierungen (für Multithreaded-Applikationen, siehe Entwurf von Softwaresystemen). Wrapper-Implementierungen, die mit anderen Implementierungen benutzt werden (oft generelle Implementierungen) und zusätzliche oder eingeschränkte Funktionalität zur Verfügung stellen. Einfache effiziente Implementierungen (Mini-Implementierungen) für spezielle Collections. Abstrakte Implementierungen, die ein Implementierungsskelett zur Verfügung stellen und damit die Implementierung eigener Collection- Klassen erleichtern. Programmiermethodik - Java Collections 8
9 Generelle Implementierungen (1) Implementierungen Interface Hashtabellen Dynamische Arrays Bäume Verkettete Listen HashTabellen + Verkettete Listen Set HashSet TreeSet Linked- HashSet List ArrayList LinkedList Queue LinkedList Map HashMap TreeMap Linked- HashMap Programmiermethodik - Java Collections 9
10 Generelle Implementierungen (2) Es existieren generelle Implementierungen für die Interfaces Set, List und Map. Interfaces SortedSet und SortedMap werden von TreeSet bzw. TreeMap zusätzlich implementiert. Queue-Interface wird z.b. von den folgenden Klassen implementiert: LinkedList FIFO Warteschlangen PriorityQueue Prioritätswarteschlange (ist eher eine spezielle Implementierung) Programmiermethodik - Java Collections 10
11 Seit Java 1.6 Deque (Double ended queue) Einfügen und Löschen an beiden Enden Wird u.a. von der Klasse LinkedList implementiert. NavigableSet und NavigableMap Sollen SortedSet und SortedMap ersetzen. Sind Erweiterungen, die das Navigieren (aufsteigend, absteigend) erlauben. Zusätzliche nebenläufige Implementierungen (siehe Entwurf von Softwaresystemen) Zusätzliche Hilfsmethoden Programmiermethodik - Java Collections 11
12 Ausgewählte Klassen
13 Eigenschaften ausgewählter Klassen ArrayList Indexzugriff auf Elemente ist überall ungefähr gleich schnell. Einfügen und Löschen ist am Listenende schnell und wird mit wachsender Entfernung vom Listenende langsamer. LinkedList Indexzugriff auf Elemente ist an den Enden schnell und wird mit der Entfernung von den Enden langsamer. Einfügen und Löschen ohne Indexzugriff ist überall gleich schnell. Ansonsten abhängig vom Indexzugriff. HashSet null-elemente sind zulässig. Einfügen, Suchen und Löschen sind immer gleich schnell. Aber: Rehashing kann zu Performance-Problemen führen (siehe auch API- Beschreibung). TreeSet null-elemente sind nicht erlaubt. Die Geschwindigkeit von Einfügen, Suchen und Löschen ist proportional zum Logarithmus der Anzahl der Elemente. Auf die Elemente eines TreeSets muss eine Ordnung definiert sein (müssen vergleichbar sein, d.h. das Interface Comparable<T> implementieren). Programmiermethodik - Java Collections 13
14 Methoden (Beispiele) Für Listen und Sets gibt es einige gemeinsame Methoden. Beispiele (T ist der Elementtyp) int size() boolean add(t t) boolean remove(t t) boolean contains(t t) T get(int i) T set(int i, T t) int indexof(t t) Programmiermethodik - Java Collections 14
15 Beispiel import java.util.arraylist; import java.util.list; public final class CollectionTest1 { private CollectionTest1() { } Immer kleinstmöglichen Typ verwenden! } public static void main(final String[] args) { final List<Integer> cl = new ArrayList<Integer>(); for (int x = 1; x < 10; x++) { cl.add(x); } } System.out.println(cl); System.out.println(cl.get(3)); System.out.println(cl.size()); System.out.println(cl.remove(2)); System.out.println(cl); System.out.println(cl.contains(7)); System.out.println(cl.set(5, 22)); System.out.println(cl); System.out.println(cl.indexOf(22)); Ausgabe [1, 2, 3, 4, 5, 6, 7, 8, 9] [1, 2, 4, 5, 6, 7, 8, 9] true 7 [1, 2, 4, 5, 6, 22, 8, 9] 5 Programmiermethodik - Java Collections 15
16 Maps Arrays und Collections speichern einzelne Werte des Elementtyps (über Indexwerte adressiert, Typ der Indexwerte ist int). Maps sind eine Verallgemeinerung von Arrays mit einem beliebigen Indextyp. Beispiel Telefonbuch Name mit Telefonnummer verknüpft. Indextyp ist daher String (Name). Map-Eintrag hat einen Schlüssel (key) und einen Wert (value). Programmiermethodik - Java Collections 16
17 Maps (key-value) Jedem Schlüssel ist genau ein Wert zugeordnet. Eine Map ist eine Menge von Schlüssel-Werte Paaren. Schlüssel müssen innerhalb einer Map eindeutig sein. Werte müssen nicht eindeutig sein. Wie bei Sets gibt es grundsätzlich zwei Versionen. HashMap Ungeordnet Hashing TreeMap Geordnet Rot-Schwarz-Baum (balanciert) Bestimmte Methoden wie put, get, containskey, containsvalue, remove etc. werden angeboten. Programmiermethodik - Java Collections 17
18 Beispiel import java.util.hashmap; import java.util.map; public final class CollectionTest2 { } public static void main(final String[] args) { final Map<String, Double> m = new HashMap<String, Double>(); m.put("pc 1", ); m.put("spiele-pc", ); m.put("my-cloud", ); System.out.println(m); System.out.println(m.get("PC 1")); System.out.println(m.containsKey("PC 1")); System.out.println(m.remove("PC 1")); System.out.println(m); } Ausgabe: {Spiele-PC=2500.0, My-Cloud= , PC 1=1199.9} true {Spiele-PC=2500.0, My-Cloud= } Programmiermethodik - Java Collections 18
19 Maps (equals, hashcode) HashMap und andere Klassen des Collection-Frameworks rufen die Methode equals auf, um die Gleichheit von Schlüsselobjekten (Elementen) festzustellen. Weiters wird von einigen Klassen die Methode hashcode verwendet. Daher sollten alle Klassen die Methoden equals und hashcode überschreiben. Die von der Klasse Object geerbten Versionen dieser Methoden sind selten ausreichend, weil sie nur die Referenzen prüfen, den Inhalt aber ignorieren. Programmiermethodik - Java Collections 19
20 Maps und Collections (1) Maps implementieren nicht das Interface Collection, sind aber Teil des Collection-Frameworks. Maps und Collections können verknüpft werden. Methode keyset liefert die Menge aller Schlüssel einer Map in Form eines Sets. Methode values liefert die Werte der Map. Über die Organisation der Werte ist nichts bekannt. Das Ergebnis ist vom Typ Collection. Programmiermethodik - Java Collections 20
21 Maps und Collections (2) Die Methode entryset liefert die Menge der Einträge der Map. Der Elementtyp ist Map.Entry<K,V> für eine Map mit dem Schlüsseltyp K und dem Werttyp V. Map.Entry definiert die Methoden: getkey getvalue Maps kennen keine Iteratoren, Sets hingegen schon. Daher kann man auf diesem Wege über eine Map iterieren. Beispiel folgt! Programmiermethodik - Java Collections 21
22 Maps und Collections (3) Die drei Methoden keyset, values und entryset erzeugen keine neue Collection. Sie liefern sogenannte Sichten ( views ). Daher sind diese Methoden auch bei großen Datenmengen sehr effizient. Es werden keine Daten kopiert! Sichten greifen direkt auf die zugrunde liegende Map zu. Änderungen an den Sichten wirken sich auf die darunterliegende Map aus und umgekehrt. Wird eine Map geändert, dann wirkt sich das auf alle Sichten aus. Programmiermethodik - Java Collections 22
23 Iteratoren
24 Iteratoren allgemein (1) Durchlaufen von Collections Iterator wird durch eine Methode (z.b. iterator) angeboten (zurückgegeben). Ein Iterator bietet folgende Methoden an hasnext testet, ob es weitere Elemente gibt (true) oder nicht (false). next liefert das nächste Element und rückt den Iterator gleichzeitig um ein Element weiter, d.h. aufeinanderfolgende Aufrufe von next liefern immer neue Elemente. remove (optional) entfernt das zuletzt zurückgegebene Element. Programmiermethodik - Java Collections 24
25 Iteratoren allgemein (2) Iteratoren sind eine Verallgemeinerung von Indexwerten. Werden ähnlich wie Indexwerte verwendet, ihr innerer Aufbau bleibt aber verborgen. Alle Iteratoren implementieren das generische Interface Iterator<T>. Iteratoren haben den gleichen Elementtyp wie die zugrunde liegende Collection. Programmiermethodik - Java Collections 25
26 Eigenschaften von Iteratoren Ein Iterator läuft von Beginn an Element für Element durch eine Collection (keine Sprünge, kein Start an beliebiger Stelle). Ein Iterator steht immer zwischen zwei Elementen (oder vor dem ersten, nach dem letzten). Iterator ist verbraucht, wenn er am Ende angekommen ist (keine Wiederverwendung). Für einen neuen Durchlauf muss ein neuer Iterator erzeugt werden. Innerhalb einer Collection können gleichzeitig mehrere Iteratoren unterwegs sein. Mehrere Iteratoren sind unabhängig voneinander und können einzeln bewegt werden. Programmiermethodik - Java Collections 26
27 Beispiel (ArrayList) List<String> ls = new ArrayList<String>(); ls.add("a"); ls.add("b"); ls.add("a"); Muss übereinstimmen! ls.add("b"); Iterator<String> is = ls.iterator(); while (is.hasnext()){ String s = is.next(); if (s.equals("a")) is.remove(); } System.out.println(ls); // [B B] Programmiermethodik - Java Collections 27
28 Beispiel (Iterator, Map) import java.util.hashmap; import java.util.iterator; import java.util.map; import java.util.set; public final class CollectionTest3 { private CollectionTest3() { } } public static void main(final String[] args) { final Map<String, Double> m = new HashMap<String, Double>(); } m.put("pc1", ); m.put("pc2", ); m.put("pc3", ); System.out.println(m); final Set<Map.Entry<String, Double>> mes = m.entryset(); final Iterator<Map.Entry<String, Double>> imes = mes.iterator(); while (imes.hasnext()) { final Map.Entry<String, Double> item = imes.next(); if (item.getvalue() > 1000) { System.out.println(item.getKey()); } } Iterator über die Menge der Einträge Ausgabe: {PC3=980.0, PC1=1199.9, PC2=1999.9} PC1 PC2 Programmiermethodik - Java Collections 28
29 Listen-Iteratoren Für Listen gibt es noch eigene Iteratoren. Diese implementieren das Interface ListIterator<T>. Ein Listen-Iterator kann sich vorwärts und rückwärts bewegen. Zusätzlich zu den Methoden eines Iterators werden zum Beispiel angeboten: previous und hasprevious, die sich auf das vorhergehende Element beziehen. previousindex und nextindex liefern die Indexwerte des vorhergehenden und nächsten Elements. Ein Listen-Iterator ist nicht verbraucht, wenn er am Ende der Liste angekommen ist. Programmiermethodik - Java Collections 29
30 Modifikation und Iteratoren (1) Wird eine Collection modifiziert (z.b. neues Element einfügen), dann werden alle Iteratoren ungültig. Beim nächsten Zugriffsversuch auf einen Iterator nach einer Änderung wirft dieser eine ConcurrentModificationException. Wird als fail-fast bezeichnet. Iterator gerät nicht irgendwann in einen inkonsistenten Zustand. Iterator wird sofort unbrauchbar gemacht. Iteratoren reagieren nur auf strukturelle Änderungen, d.h. Ersetzen eines Elements verändert die Struktur nicht und lässt Iteratoren intakt. Programmiermethodik - Java Collections 30
31 Modifikation und Iteratoren (2) Iteratoren bieten selbst Änderungsoperationen an, bei denen der betreffende Iterator funktionsfähig bleibt. Alle Iteratoren definieren die Methode remove, die das zuletzt überquerte Element aus der Collection entfernt. Aber Iterator muss sich zuerst bewegen, dann erst kann remove aufgerufen werden (löscht das letzte Element, das zurückgegeben wurde). Nach einem Aufruf muss erst wieder ein Element überquert werden. Bei Listen-Iteratoren ist das zuletzt überquerte Element abhängig von der Laufrichtung (kann vom Listenanfang aus gesehen vor oder hinter dem Iterator sein). Programmiermethodik - Java Collections 31
32 Modifikation und Iteratoren (3) Bei Listen-Iteratoren gibt es neben remove noch zusätzliche Methoden. add fügt das Element in der Lücke ein, in der der Iterator steht. set ersetzt das zuletzt überquerte Element durch das übergebene Element. Bei Änderungen über einen Iterator bleibt nur dieser eine Iterator intakt. Andere Iteratoren, die in der gleichen Collection unterwegs sind, werden ungültig (bei set bleiben alle intakt keine Strukturänderung). Programmiermethodik - Java Collections 32
33 foreach - Schleife So wie Arrays können auch Collections mit der foreach- Schleife durchlaufen werden. Beispiel List<Integer> cl = new ArrayList<Integer>(); for (Integer in : cl) System.out.println(in); Die foreach-schleife unterliegt den gleichen Beschränkungen wie bei Arrays. foreach-schleifen arbeiten wie Iteratoren. Eine Änderung der Collection während des Durchlaufens führt zu einer Ausnahme. Implementiert eine Klasse das Interface Iterable<T>, dann können Objekte dieser Klasse mit einer foreach-schleife durchlaufen werden. Programmiermethodik - Java Collections 33
34 Wichtige Themen
35 Abstrakte Collection-Klassen Unterstützen die Entwicklung neuer Collection-Klassen. Abstrakte Klassen implementieren schon einen großen Teil eines Interfaces und lassen bestimmte Teile noch offen. Eine neue Collection-Klasse kann daher schon auf eine abstrakte Klasse aufbauen (muss nicht alle Methoden eines Interfaces implementieren). Vorgehensweise bei der Implementierung einer neuen Collection-Klasse: 1. Auswählen einer geeigneten abstrakten Klasse von der geerbt wird. 2. Implementierung aller abstrakten Methoden. 3. Sollte die Collection modifizierbar sein, dann müssen auch einige konkrete Methoden überschrieben werden (wird in der API- Dokumentation der abstrakten Klasse beschrieben). 4. Testen der neuen Klasse (inklusive Performance). Programmiermethodik - Java Collections 35
36 Beispiele für abstrakte Klassen Beispiele AbstractCollection AbstractSet AbstractList (basierend auf Array) AbstractSequentialList (basierend auf verketteter Liste) AbstractQueue AbstractMap In der API-Dokumentation jeder abstrakten Klasse wird genau beschrieben, wie man eine Klasse davon ableiten muss. Grundlegende Implementierung Welche Methoden müssen implementiert werden. Welche Methoden müssen überschrieben werden, wenn man Modifikationen zulassen möchte. Programmiermethodik - Java Collections 36
37 Algorithmen im Collection-Framework Das Collection-Framework bietet neben vielen vordefinierten Containerklassen auch Algorithmen für die Verarbeitung von Container-Klassen an. Diese Algorithmen werden als statische Methoden (polymorphe Methoden) in der Hilfsklasse Collections gesammelt. Algorithmen (Beispiele) sort Sortiert die Elemente einer generischen Liste nach aufsteigender Größe. binarysearch Sucht ein Element in der sortierten Liste (Voraussetzung) und liefert einen Index zurück, wenn das Element gefunden wurde (ansonsten eine negative Zahl). max Liefert das größte Element einer Collection. shuffle Mischt die Elemente einer generischen Liste zufällig. Programmiermethodik - Java Collections 37
38 Vergleiche Viele Methoden (z.b. sort, binarysearch) vergleichen Elemente der Größe nach. Für beliebige Elementtypen ist aber nicht ohne weiters klar, welches von zwei Objekten das größere ist. Klassen müssen das generische Interface Comparable<T> implementieren. Es muss die Vergleichsmethode compareto implementiert werden, mit dem Ergebnis > 0 wenn das Objekt größer als der Parameter ist, < 0 wenn das Objekt kleiner als der Parameter ist, 0 wenn das Objekt und der Parameter gleich sind. Programmiermethodik - Java Collections 38
39 Comparator Oft sollen Objekte nach verschiedenen Kriterien verglichen werden. Daher sind viele Collection-Methoden mit einem zusätzlichen Parameter, einem Comparator, überladen. Erfüllt den gleichen Zweck. Zum Vergleich wird aber das übergebene Comparator-Objekt benutzt. Comparator<T> ist ein generisches Interface mit einer Methode compare. Methode akzeptiert zwei Objekte des Elementtyps und liefert ein int- Ergebnis für den Vergleich der zwei Objekte. Programmiermethodik - Java Collections 39
40 Comparator-Beispiel List<String> ss = new ArrayList<String>(); ss.add("hans"); ss.add("sepp"); ss.add("franz"); System.out.println(ss); // [Hans, Sepp, franz] Collections.sort(ss); System.out.println(ss); // [Hans, Sepp, franz] Comparator<String> ignorecasecomparator = new Comparator<String>() { public int compare(string s1, String s2) { return (s1.tolowercase().compareto(s2.tolowercase())); } }; Collections.sort(ss, ignorecasecomparator); System.out.println(ss); //[franz, Hans, Sepp] Programmiermethodik - Java Collections 40
41 Unveränderliche Collection-Klassen In vielen Fällen möchte man Container-Klassen zur Verfügung stellen, die unveränderlich sind. Die Klasse Collections bietet einige statische Methoden, mit denen unveränderliche Sichten auf vorhandene Container erzeugt werden können. Sichten auf eine Datenstruktur kopieren eine zugrunde liegende Datenstruktur nicht. Bieten eine eingeschränkte Darstellung (z.b. Sperren aller schreibenden Methoden). Die Datenstruktur wird nicht verändert. Programmiermethodik - Java Collections 41
42 Beispiel Methoden (Beispiele) public static <T> List<T> unmodifiablelist(list<? extends T> list) public static <K,V> Map<K,V> unmodifiablemap(map<? extends K,? extends V> m) public static <T> Set<T> unmodifiableset(set<? extends T> s) Anwendung HashMap<String,Integer> m = new HashMap<String,Integer>(); Map<String,Integer> rom = Collections.unmodifiableMap(m); m.put("test",1); // rom.put("test",1);fehler! Programmiermethodik - Java Collections 42
43 Übersicht (wichtige Klassen) Typ Ordnung bleibt Null-Elemente Duplikate ArrayList ja ja ja LinkedList ja ja ja HashSet nein ja nein TreeSet ja nein nein HashMap nein ja Schlüssel nein, Werte ja TreeMap ja Schlüssel nein, Werte ja Schlüssel nein, Werte ja Programmiermethodik - Java Collections 43
19 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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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]...
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.
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
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 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
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.
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
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
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
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
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
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
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
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
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
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
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
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 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
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 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
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
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
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
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,
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:
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
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
MehrHashmap: Video Erklärung
Hashmap Hashmap: Video Erklärung Definition und Motivation Array: Zugriff über Index=Zahl Wert(Value) Schlüssel(Key) Maier, Klaus 21 Array Hashtag: Zugriff über einen nichtnumerischen Wert 06431 92310
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,
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
MehrSelbststudium OOP7 & ALG2 Auftrag
Selbststudium OOP7 & ALG2 Auftrag Kapitel 5.6 1. zu bearbeitende Aufgaben: 5.24 bis 5.30 5.24: Return Method Set entryset() V get(object key) Set keyset() V put(k key, V value) void
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
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
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
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,
MehrProgrammierzertifikat 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
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.
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
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
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
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
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
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,
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 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
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
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:
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE38-Generics (Stand 28.09.2012) Aufgabe 1: Schauen Sie sich die generischen Klassen des Paketes java.util an. Aufgabe 2: Ausgangslage sind die folgenden
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
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
Mehrequals und hashcode SortedSet NavigableSet Assoziative Container Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32
Programmieren II Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2010 1 / 32 equals und hashcode SortedSet NavigableSet Assoziative Container 2 / 32 HashSet mit eigener Klasse Wie kann man einen
MehrProgrammiermethodik 3. Klausur Lösung
Programmiermethodik 3. Klausur Lösung 9. 1. 2014 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 20 2 16 3 45 4 19 5 20 Gesamt 120 1 Seite 2 von 10 Aufgabe 1) Objekt-Orientierung und Vererbung
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
MehrVorlesung 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:
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
MehrProgrammiermethodik 1. Klausur
Programmiermethodik 1. Klausur 27. 6. 2013 Name Matrikelnummer Aufgabe mögliche Punkte erreichte Punkte 1 21 2 20 3 19 4 19 5 21 6 20 Gesamt 120 1 Seite 2 von 18 Aufgabe 1) Objekt-Orientierung und Vererbung
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,
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 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
MehrDas Interface-Konzept am Beispiel der Sprache Java
Das Interface-Konzept am Beispiel der Sprache Java Klaus Kusche, November 2013 Inhalt Motivation: Wozu braucht man Interfaces? Interfaces in Java Was spricht gegen die große Lösung? Voraussetzungen Kenntnisse
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
MehrJavakurs 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
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
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,
MehrProgrammieren in Java -Eingangstest-
Programmieren in Java -Eingangstest- Nummer: 1. Studiengang: Informatik B.Sc. Informatik M.Sc. ESE B.Sc. ESE M.Sc. Sonstiges: Fachsemester: Bitte Fragen, die Sie nicht beantworten können unbedingt mit
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
MehrEnumerations und innere Klassen
Enumerations und innere Klassen Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung
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
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
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
MehrKapitel 14: Collections und Generics Software Entwicklung 1
Kapitel 14: Collections und Generics Software Entwicklung 1 Annette Bieniusa, Mathias Weber, Peter Zeller In diesem Kapitel führen wir das Konzept von abstrakten Datentypen ein. Wir haben mit Listen bereits
MehrVorlesung Programmieren
Vorlesung Programmieren 12 Java API Jun.-Prof. Dr.-Ing. Anne Koziolek Version 1.1 ARBEITSGRUPPE ARCHITECTURE-DRIVEN REQUIREMENTS ENGINEERING (ARE) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION
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
Mehr