Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import lombok.AccessLevel;
- import lombok.experimental.FieldDefaults;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Optional;
- import java.util.stream.Collectors;
- @FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
- final class OddsHelper {
- static String COMMA = ",";
- static List<Integer> getOdds(String numbers) throws EmptyDataException {
- return getNumbers(numbers).stream()
- .filter(number -> !isEven(number))
- .collect(Collectors.toList());
- }
- static List<Integer> getEven(String numbers) throws EmptyDataException {
- return getNumbers(numbers).stream()
- .filter(OddsHelper::isEven)
- .collect(Collectors.toList());
- }
- private static List<Integer> getNumbers(String numbers) throws EmptyDataException {
- return Arrays.stream(Optional.ofNullable(numbers)
- .filter(val -> !val.isEmpty())
- .orElseThrow(EmptyDataException::new)
- .split(COMMA))
- .map(Integer::parseInt)
- .collect(Collectors.toList());
- }
- private static boolean isEven(int number) {
- return number % 2 == 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement