Junior
A cosa serve il metodo limit() negli stream?
sobes.tech AI
Risposta dell'AI
Il metodo limit(long maxSize) nell'API Stream di Java è progettato per creare un nuovo stream contenente gli elementi dello stream originale in una quantità che non supera maxSize. È un'operazione intermedia che scarta gli elementi rimanenti dopo aver elaborato la quantità specificata.
Effetti principali:
- Limitazione della dimensione: Applica una restrizione al numero massimo di elementi nello stream risultante.
- Pigrizia: La valutazione degli elementi avviene solo quando vengono effettivamente richiesti da un'operazione terminale, fino a raggiungere il limite impostato.
- Possibilità di troncatura: Se lo stream originale contiene più elementi di
maxSize, lo stream sarà troncato amaxSizeelementi. Se ne contiene di meno, verranno usati tutti gli elementi disponibili.
Esempio di utilizzo:
List<String> nomi = Arrays.asList("Alice", "Bob", "Charlie", "David", "Eve");
List<String> primiDueNomi = nomi.stream()
.limit(2) // Limita lo stream ai primi due elementi
.collect(Collectors.toList()); // Raccoglie in una lista
// primiDueNomi conterrà ["Alice", "Bob"]