1 der Präsentation sagt "Diese Methoden sind LETZHAFT!"Die meisten Iteratoren und Iterables-Methoden sind LETZHAFT! Was bedeutet das?
Iterable transform(Iterable, Function)*
Iterable filter(Iterable, Predicate)*
T find(Iterable<T>, Predicate)
Iterable concat(Iterable<Iterable>)
Iterable cycle(Iterable)
T getOnlyElement(Iterable<T>)
Iterable<T> reverse(List<T>)
Kann mir jemand helfen zu verstehen, was sie damit meinen, sagen wir mal ich eine Sammlung von Persons
habe und ich anwenden ein Filter nur die Personen, deren Nachname zurückzukehren DOE.
Also bedeutet dies, dass die "Filterung passiert nur beim ersten Aufruf von doeOnly.next()?"
List<Person> persons= ....
Iterable doeOnly= Iterables.filter(persons,DOE_AS_LAST_NAME_PREDICATE);
Die Filterung muss beim ersten Aufruf von 'doeOnly.hasNext()' not 'next()' erfolgen, denn wenn nur ein Element übrig ist, aber das Prädikat fehlschlägt, muss 'hasNext()' false zurückgeben, aber der Das weiß der Filter erst, wenn er das nicht übereinstimmende Element abgerufen hat. – finnw