javadictionarygroovyjava-stream

How to use parallel stream in Groovy?


I want to write the below Java code in Groovy.

List < String > nums = ['a','b']

Map<String, Long> counts = nums.parallelStream()
.collect( Collectors.groupingBy(k -> k.toLowerCase(), 
Collectors.counting()) );          

Output in Java: {a:1,b:1}

I tried using the same but it gives error below:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/home/cg/root/492337/main.groovy: 7: unexpected token: -> @ line 7, column 43.
lect( Collectors.groupingBy(k -> k.toLow

Solution

  • import java.util.stream.Collectors
    
    List < String > nums = ['a','b']
    
    Map<String, Long> counts = nums.parallelStream()
      .collect( Collectors.groupingBy( {k -> k.toLowerCase()}, Collectors.counting()) )