Element familieElement = dom.getDocumentElement(); // "familie"
NodeList personListe = familieElement.getElementsByTagName("person");
Person[] personReihung = new Person[personListe.getLength()];
// NodeList ist leider (noch) nicht Iterable, deswegen klassische Zählschleife:
for (int i = 0; i < personListe.getLength(); i++) // person-Elemente von der Liste in die Reihung übertragen
personReihung[i] = new Person((Element)personListe.item(i)); // item() liefert Node, Person-Konstruktor braucht Element
shellSort(personReihung); // personReihung ist Untertyp von Comparable[]
for (Person p : personReihung) // person-Elemente in neuer Reihenfolge ins DOM einhängen
familieElement.appendChild(p.person); // ein im selben DOM vorhandenes Element wird von appendChild "umgehängt" (aus- und neu eingehängt)
void alleEntfernen(Element e) { if (anker != null) { // nur wenn nicht leer Knoten k = anker; while (k.verbindung != null) { // jeweils den vorwärts liegenden Knoten untersuchen if (k.verbindung.wert == e) k.verbindung = k.verbindung.verbindung; k = k.verbindung; } // weiterschalten if (anker.wert == e) // den ersten Knoten untersuchen anker = anker.verbindung; } }
(X) Falsch In einem generischen
Multibehälter sind immer alle Elemente vom selben Typ.
Grund: Sie können Untertyp des aktuellen generischen Parameters sein
(Aufwärtskompatibilität/Polymorphie).
(X) Richtig Aus
Referenzgleichheit folgt Objektgleichheit.
Grund: Ein Objekt ist mit sich selbst gleich.
(X) Falsch Im MVC-Konzept
benachrichtigt Model die View-Klasse bei Veränderung von Daten.
Grund: Model kennt weder View noch Control. Control benachrichtigt über
Veränderungen
(X) Richtig Filterströme haben
keinen parameterlosen Konstruktor.
Grund: Sie reichen die gefilterten Daten an den Strom weiter, den sie als
Konstruktorparameter erhalten haben.
(X) Falsch In einem DTD kann
definiert werden, wie XML-Daten dargestellt werden.
Grund: DTD definiert die Struktur, CSS oder XSL die Darstellung der
XML-Daten
(X) Richtig Nebenläufige
Prozesse in Java können ohne die Klasse
Thread nicht
programmiert werden.
Grund: Sie muss entweder erweitert oder (mit einem
Runnable-Parameter)
ausgeprägt werden.
(X) Falsch In einem Objekt der
Klasse java.util.Stack
kann immer nur das zuletzt eingetragene Element gelesen werden.
Grund: Stack
erweitert Vector,
der Zugriff auf alle Elemente erlaubt; außerdem findet die Methode search ältere
Elemente
(X) Falsch Shell-Sort ist immer
schneller als Bubble-Sort.
Grund: Nur bei großen Datenmengen. Bei schon sortierten Daten ist
Bubble-Sort schneller.
public void eintragen(final Element element) { anzahl++; if (anzahl < inhalt.length) juengstes = (juengstes + 1) % inhalt.length; else { Element[] temp = (Element [])new Object[2*inhalt.length]; for (int i = 0; i < anzahl; i++) temp[i] = inhalt[(aeltestes + i) % inhalt.length]; inhalt = temp; aeltestes = 0; juengstes = anzahl; } inhalt[juengstes] = element; }