PowerCell46

Filter by age

Jul 12th, 2024
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.58 KB | None | 0 0
  1. import java.util.*;
  2. import java.util.function.*;
  3.  
  4. public class Main {
  5.     public static void main(String[] args) {
  6.         Scanner scanner = new Scanner(System.in);
  7.  
  8.         int numberOfInputs = Integer.parseInt(scanner.nextLine());
  9.  
  10.         ArrayList<ArrayList<String>> data = new ArrayList<>();
  11.  
  12.         for (int i = 0; i < numberOfInputs; i++) {
  13.             String[] currentData = scanner.nextLine().split(", ");
  14.             ArrayList<String> currentDataLst = new ArrayList<>(Arrays.asList(currentData));
  15.             data.add(currentDataLst);
  16.         }
  17.  
  18.         String condition = scanner.nextLine();
  19.         int age = Integer.parseInt(scanner.nextLine());
  20.  
  21.         Predicate<List<String>> filterPeople = lst -> {
  22.           if (condition.equals("older")) {
  23.               return Integer.parseInt(lst.get(1)) >= age;
  24.           }
  25.           return Integer.parseInt(lst.get(1)) <= age;
  26.         };
  27.  
  28.         String printRes = scanner.nextLine();
  29.  
  30.         BiConsumer<List<String>, String> printResult = (lst, printType) -> {
  31.             switch (printType) {
  32.                 case "name age":
  33.                     System.out.format("%s - %s\n", lst.get(0), lst.get(1));
  34.                     break;
  35.                 case "name":
  36.                     System.out.println(lst.get(0));
  37.                     break;
  38.                 case "age":
  39.                     System.out.println(lst.get(1));
  40.                     break;
  41.             }
  42.         };
  43.  
  44.         data.stream()
  45.                 .filter(filterPeople)
  46.                 .forEach(lst -> printResult.accept(lst, printRes));
  47.     }
  48. }
  49.  
  50.  
Advertisement
Add Comment
Please, Sign In to add comment