Skip to content

Instantly share code, notes, and snippets.

@nicol-ograve
Last active March 1, 2025 16:53
Show Gist options
  • Save nicol-ograve/19d31cab0d28d7aef480a441d16efee6 to your computer and use it in GitHub Desktop.
Save nicol-ograve/19d31cab0d28d7aef480a441d16efee6 to your computer and use it in GitHub Desktop.
void main() {
List<int> numbers = [1, 2, 3, 4, 5];
// forEach: Itera sulla lista ed esegue un'operazione su ogni elemento
print("forEach:");
numbers.forEach((num) => print(num * 2));
// map: Trasforma ogni elemento della lista e restituisce una nuova lista
List<int> doubledNumbers = numbers.map((num) => num * 2).toList();
print("\nmap: $doubledNumbers");
// where: Filtra gli elementi della lista in base a una condizione
List<int> evenNumbers = numbers.where((num) => num.isEven).toList();
print("\nwhere (numeri pari): $evenNumbers");
// reduce: Riduce la lista a un singolo valore (somma degli elementi)
int sum = numbers.reduce((value, element) => value + element);
print("\nreduce (somma): $sum");
// fold: Simile a reduce, ma con un valore iniziale
int sumWithInitial = numbers.fold(10, (prev, element) => prev + element);
print("\nfold (somma con valore iniziale 10): $sumWithInitial");
// any: Verifica se almeno un elemento soddisfa una condizione
bool hasEven = numbers.any((num) => num.isEven);
print("\nany (contiene numeri pari?): $hasEven");
// every: Verifica se tutti gli elementi soddisfano una condizione
bool allPositive = numbers.every((num) => num > 0);
print("\nevery (tutti positivi?): $allPositive");
// take: Prende i primi n elementi della lista
List<int> firstThree = numbers.take(3).toList();
print("\ntake (primi 3 elementi): $firstThree");
// skip: Salta i primi n elementi e prende il resto
List<int> skippedTwo = numbers.skip(2).toList();
print("\nskip (salta i primi 2 elementi): $skippedTwo");
// sort: Ordina la lista in modo crescente
List<int> unorderedNumbers = [5, 3, 8, 1, 4];
unorderedNumbers.sort(); // comparatore opzionale
print("\nsort (ordinati): $unorderedNumbers");
// reversed: Restituisce un iterabile con gli elementi in ordine inverso
List<int> reversedNumbers = numbers.reversed.toList();
print("\nreversed (invertiti): $reversedNumbers");
// firstWhere: Restituisce il primo elemento che soddisfa una condizione
int firstEven = numbers.firstWhere((num) => num.isEven, orElse: () => -1);
print("\nfirstWhere (primo numero pari): $firstEven");
// lastWhere: Restituisce l'ultimo elemento che soddisfa una condizione
int lastEven = numbers.lastWhere((num) => num.isEven, orElse: () => -1);
print("\nlastWhere (ultimo numero pari): $lastEven");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment