Sobes.tech
Junior

Waarvoor dient de methode limit() in streams?

sobes.tech AI

Antwoord van AI

De methode limit(long maxSize) in de Java Stream API is bedoeld om een nieuwe stream te creëren die de elementen van de oorspronkelijke stream bevat in een hoeveelheid die niet meer is dan maxSize. Het is een tussenoperatie die de resterende elementen weglaat nadat de opgegeven hoeveelheid is verwerkt.

Belangrijkste effecten:

  • Beperking van grootte: Past een beperking toe op het maximale aantal elementen in de resulterende stream.
  • Luiheid: De evaluatie van de elementen gebeurt alleen wanneer ze daadwerkelijk worden opgevraagd door een terminale operatie, tot het ingestelde limiet is bereikt.
  • Mogelijkheid tot afkappen: Als de oorspronkelijke stream meer elementen bevat dan maxSize, wordt de stream afgekapt tot maxSize elementen. Als er minder zijn, worden alle beschikbare elementen gebruikt.

Voorbeeld van gebruik:

List<String> namen = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eve");

List<String> eersteTweeNamen = namen.stream()
                                    .limit(2) // Beperk de stream tot de eerste twee elementen
                                    .collect(Collectors.toList()); // Verzamel in een lijst

// eersteTweeNamen bevat ["Alice", "Bob"]