Samples JDK
Test2.java
1 package com.freemindcafe.java8.sample1;
2 
3 import java.util.ArrayList;
4 import java.util.Arrays;
5 import java.util.List;
6 import java.util.stream.Collectors;
7 import java.util.stream.Stream;
8 
9 import static java.util.stream.Collectors.toList;
10 
11 import org.junit.Test;
12 
13 public class Test2 {
14 
15  @Test
16  public void test1() {
17  Runnable r1 = new Runnable() {
18 
19  @Override
20  public void run() {
21  System.out.println("r1");
22  }
23  };
24 
25  r1.run();
26 
27  Runnable r2 = () -> System.out.println("r2");
28  r2.run();
29 
30  //Runnable r3 = () -> System.out::println;
31  }
32 
33 
34  @Test
35  public void test2(){
36  List<String> threeHighCaloricDishNames = Dish.menu.stream().filter(d -> d.getCalories() > 300).map(d -> d.getName()).map(d -> d.toUpperCase()).limit(3).collect(toList());
37  System.out.println(threeHighCaloricDishNames);
38 
39  List<String> vegDishNames = Dish.menu.stream().filter(d -> d.isVegetarian()).map(d -> d.getName()).collect(toList());
40  System.out.println(vegDishNames);
41 
42  List<String> skipFirstTwoHighCaloricDishNames = Dish.menu.stream().filter(d -> d.getCalories() > 300).map(d -> d.getName()).map(d -> d.toUpperCase()).skip(2).collect(toList());
43  System.out.println(skipFirstTwoHighCaloricDishNames);
44 
45  List<String> words = Arrays.asList("Java8", "Lambdas", "In", "Action");
46  List<Integer> worldLengths = words.stream().map(s -> s.length()).collect(toList());
47  System.out.println(worldLengths);
48 
49  List<Integer> dishNameLengths = Dish.menu.stream().map(d -> d.getName()).map(s -> s.length()).collect(toList());
50  System.out.println(dishNameLengths);
51 
52 // List<String> distinctWords = words.stream().map(s -> s.split("")).distinct().collect(toList());
53 // List<String[]> distinctWords = words.stream().map(s -> s.split("")).distinct().collect(toList());
54 // System.out.println(distinctWords);
55 
56 // List<Stream<String>> distinctWords = words.stream().map(s->s.split("")).map(s->Arrays.stream(s)).distinct().collect(toList());
57 // System.out.println(distinctWords);
58 
59  List<String> distinctWords = words.stream().map(s->s.split("")).flatMap(s->Arrays.stream(s)).map(s->s.toLowerCase()).distinct().collect(toList());
60  System.out.println(distinctWords);
61  }
62 
63  @Test
64  public void temp(){
65  Arrays.stream("nikhil".split("")).forEach(s -> System.out.println(s));
66  }
67 
68 
69 
70 
71 
72 }
73 
74