Skip to content

Instantly share code, notes, and snippets.

@JHarry444
Created September 15, 2020 09:22
Show Gist options
  • Save JHarry444/18c5f89ecb9fbedad3374d7943607f21 to your computer and use it in GitHub Desktop.
Save JHarry444/18c5f89ecb9fbedad3374d7943607f21 to your computer and use it in GitHub Desktop.
package sdet;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.function.Predicate;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class Demo {
public static void main(String[] args) {
List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> even = new ArrayList<>();
// for (Integer i : nums) {
// if (isEven(i)) {
// even.add(i);
// }
// }
Predicate<Integer> isEven = (num) -> num % 2 == 0;
for (Integer i : nums) {
if (isEven.test(i)) {
even.add(i);
}
}
Stream<Integer> streamed = nums.stream();
Stream<Integer> mapped = streamed.map(i -> i * i); // 1, 4, 9, 16, 36....
Stream<Integer> greaterThan5 = mapped.filter(i -> i > 5); // 9, 16, 36 ...
Stream<Integer> evens = greaterThan5.filter(isEven); // 16, 36 ...
// Optional<Integer> result = evens.reduce((sum, next) -> {
// return sum(sum, next);
// });
Optional<Integer> result = evens.reduce(Demo::sum);
Integer _result = result.orElseThrow(RuntimeException::new);
// System.out.println(result.orElse(-1));
// evens.forEach(i -> System.out.println(i));
// Stream<Integer> filtered = nums.stream().filter(isEven); // 2, 4, 6, 8, 10
//
// System.out.println(even);
//
// System.out.println(filtered.collect(Collectors.toList()));
IntStream.range(1, 11).forEach(i -> System.out.println(i));
IntStream.range(1, 11).forEach(System.out::println);
}
private static int sum(int a, int b) {
return a + b;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment