JAVA KURS COLLECTION



Ähnliche Dokumente
Einstieg in die Informatik mit Java

Java Einführung Collections

Java Schulung. Objektorientierte Programmierung in Java Teil V: Die Java Collection Klassen. Prof. Dr. Nikolaus Wulff

19 Collections Framework

ADT: Java Collections und ArrayList

Faulheit professionell: Fertige Datenbehälter. Das Java-Collections-Framework Typsicherheit Generische Klassen

Teil V. Generics und Kollektionen in Java

Grundkonzepte java.util.list

Mengen und Multimengen

Wo sind wir? Rudolf Berrendorf FH Bonn-Rhein-Sieg Programmiersprache Java 338

Kapitel 12: Java Collection Teil II

java.util. Sebastian Draack Department Informations- und Elektrotechnik Department Informations- und Elektrotechnik JAVA Collection-API

Problem: Was ist, wenn der Stapel voll ist? Idee: Erzeuge dynamisch ein grösseres Array und kopiere um. Dynamische Anpassung der Größe

Kapitel 14. Das Java Collection Interface. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Programmieren 2 16 Java Collections und Generizität

17. Java Collections. Daten Organisieren. Generische Liste in Java: java.util.list. Typ Parameter (,,Parametrischer Polymorphisums )

Programmierkurs Java

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

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

Kapitel 5: Iterierbare Container

Java Collections Framework (JCF)

4.4.9 Das Java Collection Framework

6. Interfaces Grundlagen der Programmierung 1 (Java)

Einführung in die Programmierung mit Java

Abstrakte Datentypen und Java

Hashmap: Video Erklärung

Schein-/Bachelorklausur Teil 2 am Zulassung: Mindestens 14 Punkte in Teilklausur 1 und 50% der Übungspunkte aus dem 2. Übungsblock.

Listen. Prof. Dr. Christian Böhm. in Zusammenarbeit mit Gefei Zhang. WS 07/08

Generische Polymorphie in Java-

Datenstrukturen. Ziele

IT I: Heute. abstrakte Methoden und Klassen. Interfaces. Interfaces List, Set und Collection IT I - VO 7 1

Rückblick: Inf A - Algorithmen. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 07: Collections 1. Inhalt.

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

Einführung in die Programmierung Generische Programmierung. Thomas R. Gross. Department Informatik ETH Zürich

Allgemeine Informatik II

Grundlagen der Informatik Generische Klassen

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

Javakurs für Anfänger

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

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

Programmieren I. Listen mit wahlfreiem Zugriff. Vorlesung 1. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011.

Übungsblatt Programmierung und Software-Entwicklung Generizität, Interfaces, Listen, Sortieralgorithmen & JUnit

Programmieren I. Kapitel 13. Listen

Programmieren in Java

Programmieren 2 Übung Semesterwoche 2

Dynamische Datenstrukturen

Java Generics & Collections

Übung Algorithmen und Datenstrukturen

2.2 Spezifikation abstrakter Datentypen. 2.3 Implementierung und Anwendung von ADT. 2.4 Datenabstraktion und Objektorientierung

Transkript:

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

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

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

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

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

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

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

LISTITERATOR Christa Schneider 10

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

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