Sobes.tech
Junior

Mit szolgál a limit() metódus a streamekben?

sobes.tech MI

Válasz az MI-től

A limit(long maxSize) metódus a Java Stream API-ban arra szolgál, hogy egy új stream-et hozzon létre, amely az eredeti stream elemeit tartalmazza olyan mennyiségben, amely nem haladja meg a maxSize értékét. Ez egy közbenső művelet, amely a megadott mennyiség feldolgozása után elveti a maradék elemeket.

Fő hatások:

  • Méretkorlátozás: Alkalmaz egy korlátozást a eredmény stream maximális elem számára.
  • Lazítás: Az elemek értékelése csak akkor történik meg, amikor valóban kérik őket egy végső művelettel, amíg el nem érik a beállított limitet.
  • Vágási lehetőség: Ha az eredeti stream több elemet tartalmaz, mint a maxSize, akkor a stream a maxSize elemre lesz vágva. Ha kevesebb, akkor az összes elérhető elemet felhasználja.

Használati példa:

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

List<String> elsőKétNév = nevek.stream()
                                .limit(2) // Korlátozza a streamet az első két elemre
                                .collect(Collectors.toList()); // Listába gyűjti

// elsőKétNév tartalmazni fogja ["Alice", "Bob"]