Usare i numeric Stream in Java

Mattepuffo's logo
Usare i numeric Stream in Java

Usare i numeric Stream in Java

In Java esistono i numeric Stream, creati per avere gli Stream sui tipi primitivi:

  • IntStream
  • LongStream
  • DoubleStream

Questi mettono a disposizione dei metodi specifici; ovviamente è possibile ottenere lo stesso risultato usando la versione boxed di Stream.

Però può valere la pena dargli un'occhiata.

Partiamo dal caso più pratico, sommare tutti i valori.

Questo è il codice usando Stream:

System.out.println(Stream.of(1, 2, 3, 4, 5).reduce(0, Integer::sum));

Questo invece usando IntStream:

System.out.println(IntStream.of(1, 2, 3, 4, 5).sum());

Altri due metodi interessanti sono rangeClosed e mapToObj: il primo crea un IntStream da un range, il secondo converte ogni elemento in un Object.

Ecco un esempio:

IntStream.rangeClosed(1, 5).mapToObj(String::valueOf).forEach(System.out::println);

Per essere precisi, esiste anche range, che esclude l'ultimo valore della lista.

Insomma, dategli un'occhiata perchè può essere utile.

Enjoy!


Condividi

Commentami!