Die Funktion ist mir bekannt. Es war aber nicht die Frage danach wie man es machen könnte, sondern wie bekomme ich konkret aus "Iterable<?> anzahl der Elemente" s. TitelWenn du ein CrudRepository nutzt, nimm doch einfach count().
int anzahl = 0;
for (Object whatever : repository.findAll())
anzahl++;
return anzahl;
Offensichtlich wird durch findAll() genau ein Element zurückgeliefert, nämlich ein Iterable-Objekt.findAll() gibt ein Iterable<?> mit allen Elementen zurück. Wie bekomme ich allerdings heraus wieviele Elemente zurückgeliefert wurden durch findAll()?
System.out.println(StreamSupport.stream(Spliterators.spliteratorUnknownSize( Stream.of("1","1","2","2","3").iterator() ,Spliterator.ORDERED),false).count());
Vielleicht, kann auch jedes Element auf 1 mappen und die Summe bilden.@DerWissende Aber iteriert deine Lösung nicht ebenfalls alle Elemente durch und erhöht jeweils den Counter?
ja, das Entscheidende ist hier doch dass nach einem funktionalen Ansatz mit count() gefragt wurde. Wie die JVM gestaltet ist kannst Du ja selber nachlesen.Aber iteriert deine Lösung nicht ebenfalls alle Elemente durch und erhöht jeweils den Counter
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 ist wie mit der Hintertür ins Haus.
Nein, das ist lediglich im Vorgarten - falls Du mir nicht glaubst suche selber nach was besseremTrotzdem ist Iterable auch nicht für sowas gedacht - das ist wie mit der Hintertür ins Haus