Skip to content

Commit 204e88b

Browse files
committed
14/08/2018
1 parent 824f052 commit 204e88b

File tree

2 files changed

+57
-10
lines changed

2 files changed

+57
-10
lines changed

in28Munites-JavaCourse-ForBeginners/src/com/in28munites/FunctionalProgramming/FPNumberRunner.java

Lines changed: 50 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import java.util.Arrays;
44
import java.util.List;
5+
import java.util.stream.Collectors;
6+
import java.util.stream.IntStream;
57

68
public 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
}

in28Munites-JavaCourse-ForBeginners/src/com/in28munites/FunctionalProgramming/MethodReferencesRunner.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,17 @@ public static void print(Integer number) {
1010

1111
public static void main(String[] args) {
1212
Arrays.asList("Ant", "Bat", "Cat", "Dog", "Elephant")
13-
.stream().map(s -> s.length())
14-
.forEach(s -> MethodReferencesRunner
15-
.print(s));
13+
.stream()
14+
.map(s -> s.length())
15+
.forEach(s -> MethodReferencesRunner.print(s));
1616

1717
Arrays.asList("Ant", "Bat", "Cat", "Dog", "Elephant")
18-
.stream().map(String::length)
18+
.stream()
19+
.map(String::length)
1920
.forEach(MethodReferencesRunner::print);
2021

21-
Arrays.asList(23,45,67,34).stream()
22+
Arrays.asList(23,45,67,34)
23+
.stream()
2224
.filter(n -> n%2==0)
2325
.max( (n1,n2) -> Integer.compare(n1,n2) )
2426
.orElse(0);

0 commit comments

Comments
 (0)