Advertisement
desislava_topuzakova

06. Predicate For Names

Jan 25th, 2022
1,135
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package FunctionalProgramming_Exercise;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Scanner;
  5. import java.util.function.Predicate;
  6.  
  7. public class PredicateForNames_06 {
  8.     public static void main(String[] args) {
  9.         Scanner scanner = new Scanner(System.in);
  10.         //Function<приема, връща> -> apply
  11.         //Consumer<приема> -> void -> accept
  12.         //Supplier<връща> -> get
  13.         //Predicate<приема> -> връща true / false -> test
  14.         //BiFunction<приема1, приема2, връща> -> apply
  15.         int n = Integer.parseInt(scanner.nextLine()); //дължина за сравнение
  16.         String[] names = scanner.nextLine().split("\\s+"); // "Sara Sam George Mark John".split("\\s+") -> ["", "", "", "", ""]
  17.  
  18.         //name -> true(length <= n) / false (length > n)
  19.         Predicate<String> checkValidLength = name -> name.length() <= n;
  20.         //остават само отговарящите на условието
  21.         Arrays.stream(names).filter(checkValidLength).forEach(System.out::println);
  22.         //true -> оставя елемента в списъка
  23.         //false -> маха елемента от списъка
  24.     }
  25. }
  26.  
Advertisement
Advertisement
Advertisement
RAW Paste Data Copied
Advertisement