From 10a305a09b56bb9babf1c52937b631dc5c7ac0f3 Mon Sep 17 00:00:00 2001 From: ym Date: Sun, 16 Jan 2022 22:52:58 +0100 Subject: [PATCH] hw 12 stream methods --- src/ru/javawebinar/basejava/MainStreams.java | 45 ++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/ru/javawebinar/basejava/MainStreams.java diff --git a/src/ru/javawebinar/basejava/MainStreams.java b/src/ru/javawebinar/basejava/MainStreams.java new file mode 100644 index 0000000..bf50bcf --- /dev/null +++ b/src/ru/javawebinar/basejava/MainStreams.java @@ -0,0 +1,45 @@ +package ru.javawebinar.basejava; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + +public class MainStreams { + public static void main(String[] args) { + + int[] arr = new int[]{2, 4, 1, 1, 8, 2, 2, 4, 5}; + + // System.out.println(minValue(arr)); + + List integers = new ArrayList<>(Arrays.asList(1, 3, 4, 5, 6, 7, 3, 4, 5)); + + System.out.println(oddOrEven(integers)); + } + + + public static int minValue(int[] values) { + + IntStream intStream = Arrays.stream(values); + String result = intStream.sorted().distinct().mapToObj(i -> ((Integer) i).toString()).collect(Collectors.joining()); + + return Integer.parseInt(result); + } + + public static List oddOrEven(List integers) { + + int sumOfEven = integers.stream().map(i -> i % 2 == 1 ? i : 0).reduce(0, Integer::sum); + System.out.println(sumOfEven); + + + if (sumOfEven % 2 == 0) { + return integers.stream().filter(i -> i % 2 == 1).collect(Collectors.toList()); + } else { + return integers.stream().filter(i -> i % 2 == 0).collect(Collectors.toList()); + } + + } + + +}