22
33import java .util .Arrays ;
44import java .util .List ;
5+ import java .util .stream .Collectors ;
6+ import java .util .stream .IntStream ;
57
68public class FPNumberRunner {
79
@@ -10,17 +12,25 @@ public static void main(String[] args) {
1012
1113 //Exercise - Print squares of first 10 numbers!
1214 //Clue - IntStream.range(1,10)
15+ fpSquare ();
1316
14- //List.of ("Apple", "Ant", "Bat").stream()
17+ //Arrays.asList ("Apple", "Ant", "Bat").stream()
1518 //Map all of these to lowercase and print them
16-
19+ fpLowerCase ();
20+
1721 //List.of("Apple", "Ant", "Bat").stream()
1822 //Print the length of each element
19-
23+ fpLength ();
24+
2025 /*
2126 numbers.stream()
2227 .forEach( element ->System.out.println(element));*/
2328
29+ System .out .println ("Max : " + fpMaxListInt (numbers ));
30+ System .out .println ("Min : " + fpMinListInt (numbers ));
31+
32+ System .out .println (fpOdd (numbers ));
33+
2434 //int sum = normalSum(numbers);
2535 //int sum = fpSum(numbers);
2636 int sum = fpSumOdd (numbers );
@@ -29,6 +39,41 @@ public static void main(String[] args) {
2939 System .out .println (sum );
3040
3141 }
42+
43+ private static void fpSquare () {
44+ IntStream .range (1 , 10 )
45+ .map (e -> e * e )
46+ .forEach (p -> System .out .println (p ));
47+ }
48+
49+ private static void fpLowerCase () {
50+ Arrays .asList ("Apple" , "Ant" , "Bat" ).stream ()
51+ .map (s -> s .toLowerCase ())
52+ .forEach (p -> System .out .println (p ));
53+ }
54+
55+ private static void fpLength () {
56+ Arrays .asList ("Apple" , "Ant" , "Bat" ).stream ()
57+ .map (s -> s .length ())
58+ .forEach (p -> System .out .println (p ));
59+ // Arrays.asList("Apple", "Ant", "Bat").stream()
60+ // .map(s -> s.length())
61+ // .forEach(p -> System.out.println(p.length()));
62+ }
63+
64+ private static int fpMaxListInt (List <Integer > numbers ) {
65+ return numbers .stream ().max ((n1 , n2 ) -> Integer .compare (n1 , n2 )).get ();
66+ }
67+
68+ private static int fpMinListInt (List <Integer > numbers ) {
69+ return numbers .stream ().min ((n1 , n2 ) -> Integer .compare (n1 , n2 )).get ();
70+ }
71+
72+ private static List <Integer > fpOdd (List <Integer > numbers ) {
73+ return numbers .stream ()
74+ .filter (number -> number % 2 == 1 )
75+ .collect (Collectors .toList ());
76+ }
3277
3378 private static int normalSum (List <Integer > numbers ) {
3479 int sum = 0 ;
@@ -44,13 +89,13 @@ private static int fpSum(List<Integer> numbers) {
4489
4590 private static int fpSumOdd (List <Integer > numbers ) {
4691 return numbers .stream () // Lambda Expression is a shortcut for creating a function
47- .filter (number -> number % 2 == 1 ) // Intermediate Operation
92+ .filter (number -> number % 2 == 1 ) // Intermediate Operation
4893 .reduce (0 , (number1 , number2 ) -> number1 + number2 ); // Terminal Operation : consume the result stream
4994 }
5095
5196 private static int fpSumOdd2 (List <Integer > numbers ) {
5297 return numbers .stream ()
53- .filter (number -> number % 2 == 1 )
98+ .filter (number -> number % 2 == 1 )
5499 .reduce (0 , (number1 , number2 ) -> {
55100 return number1 + number2 ;
56101 }
0 commit comments