/* * Olio-ohjelmoinnin perusteet I. * * Kokonaislukujen käsittelyä aggregaatio-operaatioilla. * * Jorma Laurikkala (jorma.laurikkala@tuni.fi). * * Viimeksi muutettu 18.2.2020. * */ // Otetaan käyttöön Collections-kirjaston osat ja virrat. import java.util.*; import java.util.stream.*; public class AggregaatioDemo4 { public static void main(String[] args) { // Muodostetaan taulukkolistat. int[] luvut = { 1, 2, 3, 4, 5 }; // Lasketaan kokonaislukujen virran parittomien lukujen summa. Virta luodaan // suoraan taulukosta. long summa = IntStream.of(luvut) // Valitaan luvut lambdan avulla. .filter(e -> e % 2 == 1) // Lasketaan summa. .sum(); System.out.println(summa); // 9 // Tulostetaan kokonaislukujen välillä [min, max] olevat luvut. Virta luodaan // suoraan taulukosta. int min = 2; int max = 4; IntStream.of(luvut) // Valitaan luvut lambdan avulla. .filter(e -> min <= e && e <= max) // Tulostetaan luvut. .forEach(e -> System.out.print(e + " ")); // 2 3 4 } }