File tree Expand file tree Collapse file tree 4 files changed +15
-6
lines changed
src/main/java/lambdasinaction Expand file tree Collapse file tree 4 files changed +15
-6
lines changed Original file line number Diff line number Diff line change @@ -30,7 +30,7 @@ private static Dish findMostCaloricDish() {
3030 }
3131
3232 private static Dish findMostCaloricDishUsingComparator () {
33- Comparator <Dish > dishCaloriesComparator = Comparator .comparing (Dish ::getCalories );
33+ Comparator <Dish > dishCaloriesComparator = Comparator .comparingInt (Dish ::getCalories );
3434 BinaryOperator <Dish > moreCaloricOf = BinaryOperator .maxBy (dishCaloriesComparator );
3535 return menu .stream ().collect (reducing (moreCaloricOf )).get ();
3636 }
Original file line number Diff line number Diff line change 44
55public class ParallelStreams {
66
7- public static long sum (long n ) {
7+ public static long iterativeSum (long n ) {
8+ long result = 0 ;
9+ for (long i = 0 ; i < n ; i ++) {
10+ result += i ;
11+ }
12+ return result ;
13+ }
14+
15+ public static long sequentialSum (long n ) {
816 return Stream .iterate (1L , i -> i + 1 ).limit (n ).reduce (Long ::sum ).get ();
917 }
1018
Original file line number Diff line number Diff line change @@ -8,7 +8,8 @@ public class ParallelStreamsHarness {
88 public static final ForkJoinPool FORK_JOIN_POOL = new ForkJoinPool ();
99
1010 public static void main (String [] args ) {
11- System .out .println ("Sum done in: " + measurePerf (ParallelStreams ::sum , 10_000_000L ) + " msecs" );
11+ System .out .println ("Iterative Sum done in: " + measurePerf (ParallelStreams ::sequentialSum , 10_000_000L ) + " msecs" );
12+ System .out .println ("Sequential Sum done in: " + measurePerf (ParallelStreams ::sequentialSum , 10_000_000L ) + " msecs" );
1213 System .out .println ("Parallel forkJoinSum done in: " + measurePerf (ParallelStreams ::parallelSum , 10_000_000L ) + " msecs" );
1314 System .out .println ("Range forkJoinSum done in: " + measurePerf (ParallelStreams ::rangedSum , 10_000_000L ) + " msecs" );
1415 System .out .println ("Parallel range forkJoinSum done in: " + measurePerf (ParallelStreams ::parallelRangedSum , 10_000_000L ) + " msecs" );
Original file line number Diff line number Diff line change @@ -32,7 +32,7 @@ public static int countWordsIteratively(String s) {
3232
3333 public static int countWords (String s ) {
3434 //Stream<Character> stream = IntStream.range(0, s.length())
35- // .mapToObj(i -> SENTENCE. charAt(i) ).parallel();
35+ // .mapToObj(SENTENCE:: charAt).parallel();
3636 Spliterator <Character > spliterator = new WordCounterSpliterator (s );
3737 Stream <Character > stream = StreamSupport .stream (spliterator , true );
3838
@@ -41,8 +41,8 @@ public static int countWords(String s) {
4141
4242 private static int countWords (Stream <Character > stream ) {
4343 WordCounter wordCounter = stream .reduce (new WordCounter (0 , true ),
44- WordCounter ::accumulate ,
45- WordCounter ::combine );
44+ WordCounter ::accumulate ,
45+ WordCounter ::combine );
4646 return wordCounter .getCounter ();
4747 }
4848
You can’t perform that action at this time.
0 commit comments