@@ -0,0 +1,1121 @@
+import java.util.ArrayList;%0Aimport java.util.Random;%0A%0Apublic class StreamParallel %7B%0A%09%0A%09public static int calcular_f(int n)%7B%0A%09%09for(int i=1;i%3C20000; i++)%7B%0A%09%09%09n = (n %5E i) %25 i;%0A%09%09%09if (n %3C= 0)%0A%09%09%09%09n = 10;%0A%09%09%7D%0A%09%09return n;%0A%09%7D%0A%09%0A%09public static void main(String%5B%5D args) %7B%0A%09%09Random aleatorio = new Random();%0A%09%09ArrayList%3CInteger%3E lista = new ArrayList%3C%3E();%0A%09%09%0A%09%09for(int i=0;i%3C 500000;i++)%7B%0A%09%09%09//Se agregan medio millon de n%C3%BAmeros aleatorios para su procesamiento%0A%09%09%09lista.add(aleatorio.nextInt());%0A%09%09%7D%0A%09%09System.out.println(%22Comenzo a procesar...%22);%0A%09%09long inicio = System.currentTimeMillis();%0A%09%09%09%0A%09%09%09//Procesamiento Secuencial Tradicional%0A%09%09%09%0A%09%09%09/*int resultado = 0;%0A%09%09%09for(int n : lista)%7B%0A%09%09%09%09resultado += calcular_f(n);%0A%09%09%09%7D*/%0A%09%09%09%0A%09%09%0A%09%09%09//Procesamiento usando Paralell Stream%0A%09%09%09int resultado = lista.parallelStream()%0A%09%09%09%09%09%09%09%09  .map( n -%3E calcular_f(n) )%0A%09%09%09%09%09%09%09%09  .reduce(Integer::sum).get();%0A%09%0A%09%09long termino = System.currentTimeMillis();%0A%09%09System.out.println(%22Resultado de aplicar la funcion calcular_f sobre la lista: %22 + resultado);%0A%09%09System.out.println(%22Termino de porcesar...%22 + (inicio - termino) + %22 mili-segundos%22);%0A%09%7D%0A%7D

Add files via upload