Programmierung Generics und Graphen Goedicke
Programmierung: Ubungsblatt 12 Generics und Graphen
Aufgabe 1
1.
Generics dienen als Platzhalter, die spater gefullt werden konnen. Sie bieten die Moglichkeit zur Konstruktion wiederverwendbarer und typensicherer Datenstrukturen.
2.
Ein Vorteil von spezifischen Datentypen gegenuber der Verwendung von raw type ist zum einen, dass es lesbarer ist, da ersichtlich ist, was in einer Liste erhalten ist und zum anderen, dass auf Typecast verzichten kann, da Compiler der Objekttyp bereits bekannt ist.
3.
Beim Durchlaufen darf die Liste nicht verandert werden, v. a. durch Loschung.
4.
Ein Zyklus in einem Graph ist der Pfad von einem Knoten zu sich selbst, im Zweifel ein Kreis uber andere Knoten, sodass man ihn jederzeit durchlaufen konnte.
Aufgabe 2
Rest aus Ubung 11 nehmen
public enum Genre {
ACTION, DRAMA, FANTASY, HORROR, ROMANCE, SCIFI, THRILLER, WESTERN }
import java.util.Iterator;
class ListIterator
Node
// Zum Start sollte current der Head der Liste zugewiesen werden
public ListIterator(UnsereListe
}
@Override
public boolean hasNext() { if (current != null)
return true; return false;
}
@Override
public T next() {
T nutzlast = current.getPayload(); current = current.getNext();
return (nutzlast); }
}
public class Movie implements Comparable
private Genre genre;
Seite 1 von 3
Programmierung Generics und Graphen Goedicke
private String name;
public Movie(int year, Genre genre, String name) { this.year = year;
this.genre = genre;
this.name = name;
}
public String getName() { return name;
}
public int getYear() { return year;
}
public Genre getGenre() { return genre;
}
@Override
public int compareTo(Movie o) {
if (this.year < o.year) { return -1;}if (this.year > o.year) {
return 1; }
int value = this.genre.compareTo(o.genre); if (value != 0) {
return value; }
return this.name.compareTo(o.name); }
}
public class Node
Node
// Node
T payload;
public Node(T payload) { this.payload = payload;
}
public Node
}
public void setNext(Node
}
/* public Node
return this.previous;
}
public void setPrevious(Node
this.previous = previous;
} */
public T getPayload() { return this.payload;
}
Seite 2 von 3
Programmierung
Generics und Graphen
Goedicke
public void setPayload() { this.payload = payload;
} }
import java.util.Iterator;
class UnsereListe
Node
public void add (T nutzlast) { Node
tail=node;
head=node; }
else { tail.setNext(node); tail = node;
} }
public Iterator
return new ListIterator
public Node
}
public Node
} }
Seite 3 von 3
Powered by TCPDF (www.tcpdf.org)
Reviews
There are no reviews yet.