Premium Partner

JAVA & Objektorientiertes Programmieren 2

Erweiterung der ersten Kartei

Erweiterung der ersten Kartei


Set of flashcards Details

Flashcards 203
Language Deutsch
Category Computer Science
Level University
Created / Updated 19.01.2017 / 09.01.2024
Licencing Not defined
Weblink
https://card2brain.ch/box/20170119_java_objektorientiertes_programmieren_2
Embed
<iframe src="https://card2brain.ch/box/20170119_java_objektorientiertes_programmieren_2/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>

Welche Implementationen der List<E> gibt es?

ArrayList, LinkedList, Stack*, Vector* etc

*Hinweis: Sehr alte Klassen, bessere Alternativen vorhanden

Zeige eine Implementation einer ArrayList<Temperatur>

(siehe Bild)

Hinweis: Für add() reicht der Typ Collection, erst für set() und get() benötigt man den Typ List (zweifacher cast hier exemplarisch. Nicht elegant!)

Wie ist das Interface Queue aufgebaut?

Spezialisiert die Semantik der Collection zu einer Schlange: Meistens nach FIFO-Semantik (first in, first out), kann aber auch priorisiert sein

Typische Methoden:
offer() - Hängt ein Element am Ende an
- poll() - Entnimmt ein Element am Anfang

(siehe Bild)

Was sind Eigenschaften einer Queue<E>?

Definiert eine Queue von Elementen vom Typ E
- Queue kann eine statische, beschränkte Grösse haben
- Elemente werden am Schwanz (tail) angehängt
- Elemente werden am Kopf (head) entnommen

Was ist der typische Verwendungszweck von einer Queue<E>?

Zwischenspeichern von Objekten vor der Verarbeitung
Beispiele: Warteschlange, Buffer, Unix-Pipe, Druckerqueue

Semantik meist nach FIFO-Prinzip

Welche Arten von Implementationen gibt es für die Queue<E>?

ArrayDeque, DelayQueue, LinkedBlockingQueue, PriorityQueue etc.

Zeige ein Beispiel einer ArrayBlockingQueue<Temperatur>

(siehe Bild)

Beispiel der ArrayBlockingQueue-Implementation:
offer() blockiert (wartet) wenn voll, poll() wenn leer

Wie ist die Deque<E> aufgebaut?

Spezialisiert die Semantik der Collection zu einer Queue welche in beide Richtungen verwendet werden kann

Das ermöglicht u.a. auch einen Stack: FILO-Semantik (first in, last out), was einen klassischen "Stapelspeicher" repräsentiert.

push() - Element auf Stack legen
pop() - Element von Stack abheben

(siehe Bild)