Advertisement
Guest User

Untitled

a guest
Feb 26th, 2020
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.11 KB | None | 0 0
  1. import lombok.AccessLevel;
  2. import lombok.experimental.FieldDefaults;
  3.  
  4. import java.util.Arrays;
  5. import java.util.List;
  6. import java.util.Optional;
  7. import java.util.stream.Collectors;
  8.  
  9. @FieldDefaults(level = AccessLevel.PRIVATE, makeFinal = true)
  10. final class OddsHelper {
  11.  
  12. static String COMMA = ",";
  13.  
  14. static List<Integer> getOdds(String numbers) throws EmptyDataException {
  15. return getNumbers(numbers).stream()
  16. .filter(number -> !isEven(number))
  17. .collect(Collectors.toList());
  18. }
  19.  
  20. static List<Integer> getEven(String numbers) throws EmptyDataException {
  21. return getNumbers(numbers).stream()
  22. .filter(OddsHelper::isEven)
  23. .collect(Collectors.toList());
  24. }
  25.  
  26. private static List<Integer> getNumbers(String numbers) throws EmptyDataException {
  27. return Arrays.stream(Optional.ofNullable(numbers)
  28. .filter(val -> !val.isEmpty())
  29. .orElseThrow(EmptyDataException::new)
  30. .split(COMMA))
  31. .map(Integer::parseInt)
  32. .collect(Collectors.toList());
  33. }
  34.  
  35. private static boolean isEven(int number) {
  36. return number % 2 == 0;
  37. }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement