Junior
За какво служи методът limit() в стриймовете?
sobes.tech AI
Отговор от AI
Методът limit(long maxSize) в Java Stream API е предназначен за създаване на нов поток, който съдържа елементите на оригиналния поток в количество, не надвишаващо maxSize. Това е междинна операция, която изключва останалите елементи след обработката на посоченото количество.
Основни ефекти:
- Ограничение на размера: Прилага ограничение върху максималния брой елементи в резултатния поток.
- Мързеливост: Изчисляването на елементите се случва само когато те са реално поискани от терминална операция, до достигане на зададения лимит.
- Възможност за съкращаване: Ако оригиналният поток съдържа повече елементи, отколкото
maxSize, потокът ще бъде съкратен доmaxSizeелемента. Ако е по-малко, ще се използват всички налични елементи.
Пример за използване:
List<String> имена = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eve");
List<String> първиДваИмена = имена.stream()
.limit(2) // Ограничаваме потока до първите два елемента
.collect(Collectors.toList()); // Събираме в списък
// първиДваИмена ще съдържа ["Alice", "Bob"]