Considera un problema, in cui sto sviluppando un albero come Collection.Collezione Lazy in Java
Una delle funzionalità principale della mia raccolta è quello di tracciare tutti gli elementi memorizzati uno per uno e poi chiamare un data funzione per ogni elemento fino a dato criterio è stato raggiunto (Collection pigro).
Quindi la funzione dovrebbe avere le seguenti firme:
void Trace(function func, criteria crit)
{
item i = firstItem();
while (i != endItem())
{
i = nextItem();
func(i);
if (crit(i))
return;
}
}
in C++
puntatori a funzione può essere utilizzata per func
e crit
.
in C#
, yield
parola chiave è esattamente la soluzione a questo problema, credo.
Come posso ottenere la stessa cosa in Java?
Il tuo ciclo ha un bug. Non elabora l'ultimo elemento. Considera una lista se lunghezza 1 - il ciclo while non verrebbe inserito. – Bohemian
Good Point :) Ma fortunatamente, questo non ha molto a che fare con il problema :) – MBZ