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 domaxSizeelementó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"]