allObjects
ist vom Typ Iterable<T>
. Deshalb kannst du mittels eines "enhanced for loop" alle Objekte abklappern, die in allObjects
gespeichert sind.
Beispiel.
int count = 0;
for (T item: allObjects) {
// In der Variable item ist jetzt ein Objekt vom Typ T
// gespeichert. Für das Beispiel interessiert das aber
// nicht. Stattdessen:
count = count + 1;
}
In der Variablen count
steht jetzt die Anzahl der Objekte, die in allObjects
gespeichert sind.
Wegen T extends Comparable<T>
weißt du, dass der Typ T
das Interface Comparable<T>
implementiert. Objekte vom Typ T
können deshalb mit andenen Objekten vom Typ T
verglichen werden.
Beispiel.
Iterator<T> it = allObjects.iterator();
T first = it.next();
T second = it.next();
int comparison = first.compareTo(second);
if (comparison < 0) {
// first ist kleiner als second
} else if (comparison == 0) {
// first ist genauso groß wie second
} else if (comparison > 0) {
// first ist größer als second
}
Formuliere einen Algorithmus in natürlicher Sprache um das Problem zu lösen. Verwende dann den for
-loop und compareTo
um den Algorithmus in Java zu übersetzen.