Iterable<?> anzahl der Element

Bitte aktiviere JavaScript!
Ich arbeite mit Spring Data in meinem Project. findAll() gibt ein Iterable<?> mit allen Elementen zurück. Wie bekomme ich allerdings heraus wieviele Elemente zurückgeliefert wurden durch findAll()?
 
A

Anzeige


Vielleicht hilft dir dieser Kurs hier weiter: (hier klicken)
Java:
int anzahl = 0;
for (Object whatever : repository.findAll())
  anzahl++;
return anzahl;
Offensichtlich bietet das Iterable-Interface ja nur die Methode `iterator()` (plus natürlich noch weiter Java 8 Stream-relevante Methoden). Du bekommst also nicht direkt die Anzahl, ohne tatsächlich bis zum Ende zu iterieren. Es sei denn natürlich, du weißt, welche implementierende Klasse dahintersteckt, zu der du casten könntest, in der Hoffnung, dass diese Klasse als Implementierungsdetail des Persistence Providers eine Information über die Anzahl hält.
 
Die Frage sieht nach einem üblichen Fall von "Unsinnige Frage, weil Problem auf eine falsche Art und Weise versucht zu lösen" aus, von daher sind alternative Möglichkeiten durchaus sinnvoll...
 
Ich fand noch:
Java:
System.out.println(StreamSupport.stream(Spliterators.spliteratorUnknownSize( Stream.of("1","1","2","2","3").iterator() ,Spliterator.ORDERED),false).count());
String hier als Beispiel
 
das ist wie mit der Hintertür ins Haus.
Mit der Hintertür ins Haus? Dieses Sprichwort existiert nicht, weil es ja auch keinen Sinn macht. Wenn ich nicht auch durch die Hintertür ins Haus komme, was ist denn der Sinn der Hintertür? Und es ist ja auch nicht umständlicher als durch die Vordertür.
Das klingt etwas wie eine Mischung aus "mit der Tür ins Haus" (was hier nicht passt) und "von hinten durch die Brust ins Auge" (wäre hier wohl richtig). :)

Hach ja, das Leben ist kein Ponnyschlecken.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben