mshatunov
6/4/2018 - 2:59 PM

streams

Random r = new Random();
r.ints(5)                           
 .sorted()
 .forEach(System.out::println);

r.doubles(5, 0, 0.5)                
 .sorted()
 .forEach(System.out::println);

List<Long> longs = r.longs(5)
                    .boxed()        
                    .collect(Collectors.toList());
DoubleSummaryStatistics stats = DoubleStream.generate(Math::random)
    .limit(1_000_000)
    .summaryStatistics();

System.out.println(stats);  

System.out.println("count: " + stats.getCount());
System.out.println("min  : " + stats.getMin());
System.out.println("max  : " + stats.getMax());
System.out.println("sum  : " + stats.getSum());
System.out.println("ave  : " + stats.getAverage());
Map<Boolean, Long> numberLengthMap = strings.stream()
    .collect(Collectors.partitioningBy(
        s -> s.length() % 2 == 0, 
        Collectors.counting())); 
strings.stream()
    .reduce((prev, curr) -> {
        assertTrue(prev.length() <= curr.length());  
        return curr;                                 
    });
List<Integer> ints = IntStream.range(10, 15)
    .boxed()  
    .collect(Collectors.toList());
System.out.println(ints);
// prints [10, 11, 12, 13, 14]
customers.stream()                                          
        .flatMap(customer -> customer.getOrders().stream()) 
        .forEach(System.out::println);   
List<BigDecimal> nums =
    Stream.iterate(BigDecimal.ONE, n -> n.add(BigDecimal.ONE) )
        .limit(10)
        .collect(Collectors.toList());
System.out.println(nums);
// prints [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]