Sobes.tech
Junior

Do czego służy metoda limit() w strumieniach?

sobes.tech AI

Odpowiedź od AI

Metoda limit(long maxSize) w API Stream Java służy do tworzenia nowego strumienia zawierającego elementy oryginalnego strumienia w ilości nie przekraczającej maxSize. Jest to operacja pośrednia, która odrzuca pozostałe elementy po przetworzeniu określonej ilości.

Główne efekty:

  • Ograniczenie rozmiaru: Nakłada ograniczenie na maksymalną liczbę elementów w wynikowym strumieniu.
  • Lenistwo: Obliczanie elementów odbywa się tylko wtedy, gdy są one faktycznie żądane przez operację końcową, do osiągnięcia ustalonego limitu.
  • Możliwość przycięcia: Jeśli oryginalny strumień zawiera więcej elementów niż maxSize, strumień zostanie przycięty do maxSize elementów. Jeśli mniej, użyte zostaną wszystkie dostępne elementy.

Przykład użycia:

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

List<String> pierwszeDwaImiona = imiona.stream()
                                      .limit(2) // Ograniczamy strumień do pierwszych dwóch elementów
                                      .collect(Collectors.toList()); // Zbieramy do listy

// pierwszeDwaImiona będzie zawierać ["Alice", "Bob"]