JAVA KURS COLLECTION
|
|
|
- Alma Feld
- vor 9 Jahren
- Abrufe
Transkript
1 JAVA KURS COLLECTION
2 COLLECTIONS Christa Schneider 2
3 COLLECTION Enthält als Basis-Interface grundlegende Methoden zur Arbeit mit Collections Methode int size() boolean isempty() boolean contains (Object) boolean add(object) boolean remove(object) Object[] toarray Iterator <E> iterator Beschreibung Liefert die Anzahl der Elemente Liefert true, wenn kein Element vorhanden ist Liefert true, wenn das Objekt vorhanden ist Fügt das übergebene Objekt ein Entfernt das übergebene Objekt, wenn vorhanden Gibt Array zurück, das alle Element der Collection enthält Gibt Iterator-Objekt über Elemente der Collection zurück Christa Schneider 3
4 LIST (ARRAYLIST, LINKEDLIST) Liste von Elementen unterschiedlichen Typs, auf deren Elemente sequenziell oder wahlfrei zugegriffen werden kann. Duplikate sind möglich ArrayList = einfach verkettete Liste LinkedList = doppelt verkettete Liste Methode Beschreibung add (int index, Object element) Object get (int index) int indexof(object o) Object set (int index, Object element) remove (int index) clear() Fügt angegebenes Objekt des entsprechenden Typs an angegebener Position ein. Gibt Element an der Stelle index zurück Ermittelt Index des ersten Vorkommens des übergebenen Objekts; wenn Objekt nicht enthalten, -1 Ersetzt Element an der Stelle index durch übergebenes Objekt Entfernt Element an der Stelle index Entfernt alle Elemente aus der Liste Christa Schneider 4
5 MAPS (HASHMAP, TREEMAP) Schüsselpaare keine doppelten Einträge möglich Methode boolean isempty() void clear() boolean equals (Object o) int size() boolean containskey(object key) boolean containsvalue(object value) v get(object key) v put(k key, v value) boolean remove (Object key) Set <k> keyset() Beschreibung Liefert true, wenn keine Wertpaare vorhanden sind Entfernt alle Wertpaare Vergleicht das übergebene Objekt Liefert die Anzahl der Wertpaare Liefert true, wenn der Schlüssel gefunden wurde Liefert true, wenn ein/mehrere Werte gefunden wurden Liefert den Wert zu dem übergebenen Schlüssel speichert das Wertpaar in der Map Entfernt Objekt des übergebenen Schlüssels Gibt Set zurück, das die Schlüssel der Map enthält Christa Schneider 5
6 SET (HASHSET, TREESET) keine Duplikate kein ListIterator möglich! (aber Iterator) HashSet = unsortierte Collection für schnellen Zugriff TreeSet = sortierte Collection Methode boolean add(object o) Object first() Object last() int size() boolean remove(int index) SortedSet <E> headset (Object o) SortedSet <E> subset (Object a, Object b) Beschreibung Fügt ein Element der Liste hinzu. Wenn das Element bereits existiert wird false zurückgeliefert. Liefert das erste Objekt der Liste Liefert das letzte Objekt der Liste Liefert die Anzahl der Wertpaare Löscht das Element an der Stelle index Gibt den Teil des TreeSets zurück, dessen Elemente kleiner sind als das übergebene Object Gibt den Teil des TreeSets zurück, dessen Elemente zwischen a und b liegen. Christa Schneider
7 VECTOR Ein Vector ist vergleichbar mit einem dynamischen Array Die Größe kann sich während der Lauzeit ändern. Aufruf: Vector vec = new Vector(); Methode addelement (Object o) remove (int index) clear() insertelementat (Object o, int index) Object get (int index) boolean add(object o) boolean add(int index, Object o) int size() Beschreibung fügt ein neues Element dazu entfernt das Element an der Stelle index entfernt alle Elemente fügt ein neues Element an der Stelle index ein. liefert ein Element aus der Liste fügt ein Element an die Liste an. fügt ein Element an der Stelle index hinzu. liefert die Anzahl der Elemente Christa Schneider 7
8 ITERATOR Ein Iterator dient dazu, eine Collection sequenziell (von vorne nach hinten) zu durchlaufen. interface java.util. Iterator<E> Methode boolean hasnext() Object next() void remove() Beschreibung prüft, ob weitere Elemente vorhanden sind holt das nächste Element und setzt den Positionszeiger auf das nächste Element entfernt das Element aus der Collection, das beim letzten Aufruf der Mehtode next zurückgeliefert wurde. Christa Schneider 8
9 ITERATOR Nehmen wir wieder eine Collection c. Sie ist mit String typisiert: Collection <String> c = new LinkedList <String> (); Soll diese Liste mit einem Iterator abgelaufen werden, so ist herkömmlich zu schreiben: for ( Iterator i = c.iterator(); i.hasnext(); ) { String s = (String) i.next();... } Mit Generics wird der Typ des Iterators vorgeschrieben, und die Typanpassung kann entfallen. for ( Iterator<String> i = c.iterator(); i.hasnext(); ) { String s = i.next();... } Christa Schneider 9
10 LISTITERATOR Christa Schneider 10
11 WELCHE KLASSE SOLL ICH BENUTZEN? Use Vector Schneller Zugriff auf die Elemente durch index Optimiert für Speicherplatz Nicht optimiert für Einfügen und Löschen Use ArrayList Wie Vector Bessere Performanz Use Linked list Schnelles Einfügen und Löschen Nicht für freien Zugriff optimiert Christa Schneider 11
12 WANN, WAS? Use Sets Wenn eine Liste ohne Duplikate benötigt wird. Use Maps Sehr schneller Zugriff über Schlüssel Schnelles Einfügen und Löschen von Elementen Keine Duplikate erlaubt
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
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]...
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
19 Collections Framework
Collection = Containterklasse, die andere Objekte enthält. Inhalte: Schnittstellen Implementierungen Algorithmen Vorteile: Einheitlicher Zugriff auf Containerobjekte. Abstraktion von den Implementierungsdetails.
ADT: Java Collections und ArrayList
ADT: Java Collections und ArrayList Überblick der Klassen Object File Collections Map List Set ArrayList LinkedList SortedSet HashSet SortedSet Methode ArrayList Klasse I Beschreibung void add(int position,
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
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
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.
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
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,
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
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
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
Kapitel 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
Programmieren 2 16 Java Collections und Generizität
Programmieren 2 16 Java Collections und Generizität Bachelor Medieninformatik Wintersemester 2015 Dipl.-Inform. Ilse Schmiedecke [email protected] 1 Faulheit professionell: Fertige Datenbehälter
17. 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
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
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
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
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
Java Collections Framework (JCF)
Algorithmen & Datenstrukturen Bachelor Medieninformatik Fachbereich DCSM FH Wiesbaden University of Applied Sciences Thomas Frenken [email protected] Inhaltsverzeichnis 1. Das Java Collections
4.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
6. 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
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.
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
Hashmap: Video Erklärung
Hashmap Hashmap: Video Erklärung Definition und Motivation Array: Zugriff über Index=Zahl Wert(Value) Schlüssel(Key) Maier, Klaus 21 Array Hashtag: Zugriff über einen nichtnumerischen Wert 06431 92310
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
Listen. 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
Generische Polymorphie in Java-
Generische Polymorphie in Java- Johannes Waldmann (HTWK Leipzig) Plan Beispiel Collections, Iteratoren, Maps Schnittstellen und Implementierungen Genaueres zum Typsystem Details zu Implementierungen zur
Datenstrukturen. Ziele
Datenstrukturen Ziele Nutzen von Datenstrukturen Funktionsweise verstehen Eigenen Datenstrukturen bauen Vordefinierte Datenstrukturen kennen Hiflsmethoden komplexer Datenstrukten kennen Datenstrukturen
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
Rü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
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,
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
Allgemeine Informatik II
Klausur zur Vorlesung Allgemeine Informatik II Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2009 (Klausur SS09) Termin: 3. 9. 2009 Name: Vorname: Matrikelnummer: Fachrichtung: Punkte:
Grundlagen der Informatik Generische Klassen
Grundlagen der Informatik Generische Klassen Generische Klassen, das Java-Collection-Framework und mehr Generische Programmierung Beobachtung: In vielen Problemstellungen hängt der grundsätzliche Aufbau
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
Javakurs für Anfänger
Javakurs für Anfänger Einheit 07: Mehr zu Arrays Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Wiederholung und Fragen zu Arrays 2-Dimensionale Arrays am Beispiel Schachbrett
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
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
Programmieren I. Listen mit wahlfreiem Zugriff. Vorlesung 1. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.
Programmieren I Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 78 Listen Collections Iteratoren Sets SortedSet NavigableSet Maps 2 / 78 Listen mit wahlfreiem Zugriff In der letzten Vorlesung
Ü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
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
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
Programmieren 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
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
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
Übung Algorithmen und Datenstrukturen
Übung Algorithmen und Datenstrukturen Sommersemester 2017 Patrick Schäfer, Humboldt-Universität zu Berlin Agenda: Kürzeste Wege, Heaps, Hashing Heute: Kürzeste Wege: Dijkstra Heaps: Binäre Min-Heaps Hashing:
2.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
