Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e8ae782

Browse files
[yuvrajs] Usage of Reduce and examples
1 parent 2c9f30d commit e8ae782

File tree

7 files changed

+222
-1
lines changed

7 files changed

+222
-1
lines changed

‎README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,21 @@ Functional programming is a paradigm that allows programming using expressions i
55
* [Print each element from list in its own line](src/main/java/com/ysingh/structure/ST01PrintListElement.java)
66
* [Print courses, courses having name with Spring, courses having name greater than 3 characters](src/main/java/com/ysingh/structure/ST02CourseExcerise.java)
77
* [Print Square of each number in the list](src/main/java/com/ysingh/structure/ST03PrintSquareOfEachListElement.java)
8+
* [Print sum of all elements in the list](src/main/java/com/ysingh/structure/ST04AddNumbersInList.java)
9+
* [Print max and min number from all elements in the list](src/main/java/com/ysingh/structure/ST05MaximumAndMinimumNumberInList.java)
10+
* [Square every number in a list and find the sum of squares](src/main/java/com/ysingh/structure/ST06Excersise.java)
11+
* [Cube every number in a list and find the sum of cubes](src/main/java/com/ysingh/structure/ST06Excersise.java)
12+
* [Find sum of odd numbers in a list](src/main/java/com/ysingh/structure/ST06Excersise.java)
813

914
## Implementations using Functional Programming
1015
### Using Streams, Filters and Lambdas:
1116
* [Print each element from list in its own line](/src/main/java/com/ysingh/functional/FP01PrintListElement.java)
1217
* [Print courses, courses having name with Spring, courses having name greater than 3 characters](src/main/java/com/ysingh/functional/FP02CourseExcerise.java)
1318
### Using Map:
14-
* [Print Square of each number in the list](src/main/java/com/ysingh/functional/FP03PrintSquareOfEachListElement.java)
19+
* [Print Square of each number in the list](src/main/java/com/ysingh/functional/FP03PrintSquareOfEachListElement.java)
20+
### Using Reduce:
21+
* [Print sum of all elements in the list](src/main/java/com/ysingh/functional/FP04AddNumbersInList.java)
22+
* [Print max and min number from all elements in the list](src/main/java/com/ysingh/functional/FP05MaximumAndMinimumNumberInList.java)
23+
* [Square every number in a list and find the sum of squares](src/main/java/com/ysingh/functional/FP06Excersise.java)
24+
* [Cube every number in a list and find the sum of cubes](src/main/java/com/ysingh/functional/FP06Excersise.java)
25+
* [Find sum of odd numbers in a list](src/main/java/com/ysingh/functional/FP06Excersise.java)
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package com.ysingh.functional;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
public class FP04AddNumbersInList {
7+
8+
public static void main(String args[]) {
9+
List<Integer> numbers = Arrays.asList(12,9,13,5,4,2,4,12,15);
10+
11+
System.out.println("Calculating Sum of All Numbers: ");
12+
int sum = addListNumbers(numbers);
13+
System.out.println(sum);
14+
}
15+
16+
private static int addListNumbers(List<Integer> numbers) {
17+
return numbers.stream().reduce(0, (num1, num2) -> num1 + num2);
18+
}
19+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.ysingh.functional;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
public class FP05MaximumAndMinimumNumberInList {
7+
8+
public static void main(String args[]) {
9+
List<Integer> numbers = Arrays.asList(12,9,13,5,4,2,4,12,15);
10+
11+
System.out.println("Calculating Max Number from All Numbers: ");
12+
int max = maxInListNumbers(numbers);
13+
System.out.println(max);
14+
15+
System.out.println();
16+
17+
System.out.println("Calculating Min Number from All Numbers: ");
18+
int min = minInListNumbers(numbers);
19+
System.out.println(min);
20+
}
21+
22+
private static int maxInListNumbers(List<Integer> numbers) {
23+
return numbers.stream().reduce(Integer.MIN_VALUE, (num1, num2) -> num1 > num2 ? num1 : num2);
24+
}
25+
26+
private static int minInListNumbers(List<Integer> numbers) {
27+
return numbers.stream().reduce(Integer.MAX_VALUE, (num1, num2) -> num1 > num2 ? num2 : num1);
28+
}
29+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.ysingh.functional;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
public class FP06Excersise {
7+
8+
public static void main(String args[]) {
9+
List<Integer> numbers = Arrays.asList(12,9,13,5,4,2,4,12,15);
10+
11+
System.out.println("Square Each Number and Print Sum:");
12+
int sum = squareNumbersInListAndPrintSum(numbers);
13+
System.out.println(sum);
14+
15+
System.out.println();
16+
17+
System.out.println("Cube Each Number and Print Sum:");
18+
sum = cubeNumbersInListAndPrintSum(numbers);
19+
System.out.println(sum);
20+
21+
System.out.println();
22+
23+
System.out.println("Sum of Odd Numbers in the list:");
24+
sum = sumOfOddNumbersInList(numbers);
25+
System.out.println(sum);
26+
27+
System.out.println();
28+
29+
}
30+
31+
private static int squareNumbersInListAndPrintSum(List<Integer> numbers) {
32+
return numbers.stream().map(number -> number * number).reduce(0, (num1, num2) -> num1 + num2);
33+
}
34+
35+
private static int cubeNumbersInListAndPrintSum(List<Integer> numbers) {
36+
return numbers.stream().map(number -> number * number * number).reduce(0, (num1, num2) -> num1 + num2);
37+
}
38+
39+
private static int sumOfOddNumbersInList(List<Integer> numbers) {
40+
return numbers.stream().filter(number -> number % 2 != 0).reduce(0, (num1, num2) -> num1 + num2);
41+
}
42+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.ysingh.structure;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
public class ST04AddNumbersInList {
7+
8+
public static void main(String args[]) {
9+
List<Integer> numbers = Arrays.asList(12,9,13,5,4,2,4,12,15);
10+
11+
System.out.println("Calculating Sum of All Numbers: ");
12+
int sum = addListNumbers(numbers);
13+
System.out.println(sum);
14+
}
15+
16+
private static int addListNumbers(List<Integer> numbers) {
17+
int sum = 0;
18+
for(int number : numbers) {
19+
sum = sum + number;
20+
}
21+
return sum;
22+
}
23+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package com.ysingh.structure;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
public class ST05MaximumAndMinimumNumberInList {
7+
8+
public static void main(String args[]) {
9+
List<Integer> numbers = Arrays.asList(12,9,13,5,4,2,4,12,15);
10+
11+
System.out.println("Calculating Max Number from All Numbers: ");
12+
int max = maxInListNumbers(numbers);
13+
System.out.println(max);
14+
15+
System.out.println();
16+
17+
System.out.println("Calculating Min Number from All Numbers: ");
18+
int min = minInListNumbers(numbers);
19+
System.out.println(min);
20+
}
21+
22+
private static int maxInListNumbers(List<Integer> numbers) {
23+
int max = Integer.MIN_VALUE;
24+
for(int number : numbers) {
25+
if(number > max) {
26+
max = number;
27+
}
28+
}
29+
return max;
30+
}
31+
32+
private static int minInListNumbers(List<Integer> numbers) {
33+
int min = Integer.MAX_VALUE;
34+
for(int number : numbers) {
35+
if(number < min) {
36+
min = number;
37+
}
38+
}
39+
return min;
40+
}
41+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package com.ysingh.structure;
2+
3+
import java.util.Arrays;
4+
import java.util.List;
5+
6+
public class ST06Excersise {
7+
8+
public static void main(String args[]) {
9+
List<Integer> numbers = Arrays.asList(12,9,13,5,4,2,4,12,15);
10+
11+
System.out.println("Square Each Number and Print Sum:");
12+
int sum = squareNumbersInListAndPrintSum(numbers);
13+
System.out.println(sum);
14+
15+
System.out.println();
16+
17+
System.out.println("Cube Each Number and Print Sum:");
18+
sum = cubeNumbersInListAndPrintSum(numbers);
19+
System.out.println(sum);
20+
21+
System.out.println();
22+
23+
System.out.println("Sum of Odd Numbers in the list:");
24+
sum = sumOfOddNumbersInList(numbers);
25+
System.out.println(sum);
26+
27+
System.out.println();
28+
29+
}
30+
31+
private static int squareNumbersInListAndPrintSum(List<Integer> numbers) {
32+
int sum = 0;
33+
for(int number : numbers) {
34+
sum = sum + (number * number);
35+
}
36+
return sum;
37+
}
38+
39+
private static int cubeNumbersInListAndPrintSum(List<Integer> numbers) {
40+
int sum = 0;
41+
for(int number : numbers) {
42+
sum = sum + (number * number * number);
43+
}
44+
return sum;
45+
}
46+
47+
private static int sumOfOddNumbersInList(List<Integer> numbers) {
48+
int sum = 0;
49+
for(int number : numbers) {
50+
if(number % 2 != 0) {
51+
sum = sum + number;
52+
}
53+
}
54+
return sum;
55+
}
56+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /