/**Copyright (c) Balzert, H: "Java: Objektorientiert Programmieren" * W3L-Verlag Dortmund, 3. Auflage, 2014 * Sequenzielle vs. parallele Berechnung, S. 347 f. */ import java.util.stream.Stream; import java.util.List; import java.util.stream.Collectors; public class DemoParallel { public static void main(String[] args) { double uGrenze = -30.0, oGrenze = +40.0; // Bereiche der Zufallszahlen // Liste mit 10 Mio. Daten erzeugen List d = Stream.generate( () -> (uGrenze + (Math.random() * (oGrenze - uGrenze + 1)))) .limit(10_000_000).collect(Collectors.toList()); long start = System.currentTimeMillis(); d.stream() .parallel() .sorted() .filter(wert -> (Math.abs(wert) > 25.0)) .collect(Collectors.toList()); long stop = System.currentTimeMillis(); System.out.println("Verbrauchte Zeit in ms: " + (stop - start)); } }