Advertisement
simeon_petrov

Homework: Functional Programming

Apr 4th, 2016
421
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.83 KB | None | 0 0
  1. package FunctionalProgrammingHomeWork;
  2.  
  3. import java.lang.reflect.Array;
  4. import java.time.Period;
  5. import java.util.ArrayList;
  6. import java.util.Arrays;
  7. import java.util.Comparator;
  8. import java.util.List;
  9. import java.util.stream.Stream;
  10.  
  11. public class FunctionalProgramming {
  12.     public static void main(String[] args) {
  13.         List<Student> students = new ArrayList<Student>();
  14.  
  15.         students.add(new Student(
  16.                 "Gosho"
  17.                 , "Petrov"
  18.                 , 26
  19.                 , "56324"
  20.                 , "0887658710"
  21.                 , "gosho@mail.bg"
  22.                 , new ArrayList<Integer>(Arrays.asList(2, 3, 6))
  23.                 , "2"));
  24.         students.add(new Student(
  25.                 "Nikola"
  26.                 , "Petrov"
  27.                 , 18
  28.                 , "56333"
  29.                 , "0886452187"
  30.                 , "niki@mail.bg"
  31.                 , new ArrayList<Integer>(Arrays.asList(5, 5, 6))
  32.                 , "1"));
  33.         students.add(new Student(
  34.                 "Nikola"
  35.                 , "Ankov"
  36.                 , 35
  37.                 , "55871"
  38.                 , "0882540307"
  39.                 , "nikola@yahoo.bg"
  40.                 , new ArrayList<Integer>(Arrays.asList(6, 6, 6))
  41.                 , "2"));
  42.         students.add(new Student(
  43.                 "Milena"
  44.                 , "Bikolova"
  45.                 , 21
  46.                 , "56445"
  47.                 , "0886698024"
  48.                 , "slavena@abv.bg"
  49.                 , new ArrayList<Integer>(Arrays.asList(6, 4, 6))
  50.                 , "2"));
  51.         students.add(new Student(
  52.                 "Avrora"
  53.                 , "Jekova"
  54.                 , 19
  55.                 , "56959"
  56.                 , "0886552844"
  57.                 , "avr@abv.bg"
  58.                 , new ArrayList<Integer>(Arrays.asList(2, 3, 3))
  59.                 , "2"));
  60.         students.add(new Student(
  61.                 "Ana"
  62.                 , "Mabeva"
  63.                 , 19
  64.                 , "56819"
  65.                 , "0886550073"
  66.                 , "ana@abv.bg"
  67.                 , new ArrayList<Integer>(Arrays.asList(4, 5, 3))
  68.                 , "1"));
  69.         students.add(new Student(
  70.                 "Ana"
  71.                 , "Huai"
  72.                 , 21
  73.                 , "55100"
  74.                 , "0882459073"
  75.                 , "ana@abv.bg"
  76.                 , new ArrayList<Integer>(Arrays.asList(4, 5, 3))
  77.                 , "1"));
  78.  
  79.         for (Student s : students) {
  80.             if (s.getAge() < 22) {
  81.                 System.out.println(s.getFirstName());
  82.             }
  83.         }
  84.         System.out.println("---------------------------");
  85.        
  86.         ArrayList<Student> studentsCopy = new ArrayList<>();
  87.         studentsCopy.addAll(students);
  88.         studentsCopy.removeIf(p -> p.getAge() > 22);
  89.         studentsCopy.forEach(p -> System.out.println(p.getFirstName()));
  90.         System.out.println("--------All Students---------------");
  91.         students.forEach(s -> System.out.println(s.getFirstName() + " gr. " + s.getGroupNumbers()));
  92.  
  93.         System.out.println("--------group number 2 sorted by FirstName---------------");
  94.         List<Student> studentsGroup2Sorted = new ArrayList<Student>();
  95.         studentsGroup2Sorted.addAll(students);
  96.         studentsGroup2Sorted.removeIf(s -> !s.getGroupNumbers().equalsIgnoreCase("2"));
  97.         studentsGroup2Sorted.sort((s1, s2) -> s2.getFirstName().compareTo(s1.getFirstName()));
  98.         studentsGroup2Sorted.forEach(s -> System.out.println(s.getFirstName() + " gr. " + s.getGroupNumbers()));
  99.        
  100.         System.out.println("----Print all students whose first name is before their last name alphabetically---");
  101.         ArrayList<Student> studentsFirstBeforeLastName = new ArrayList<>();
  102.         studentsFirstBeforeLastName.addAll(students);
  103.        
  104.         studentsFirstBeforeLastName.removeIf((s1) -> s1.getFirstName().charAt(0) > s1.getLastName().charAt(0));
  105.         studentsFirstBeforeLastName.forEach(s1 -> System.out.println(s1.getFirstName() + " " + s1.getLastName()));
  106.  
  107.         System.out.println("--------the first name and last name of all students with age between 18 and 24---------------");
  108.         studentsCopy = new ArrayList<>();
  109.         studentsCopy.addAll(students);
  110.         studentsCopy.removeIf(c -> (c.getAge() < 18 || c.getAge() > 24));
  111.         studentsCopy.forEach(c -> System.out.println(c.getFirstName() + " " + c.getLastName() + " " + c.getAge()));
  112.  
  113.  
  114.         System.out.println("------sort the students by first name and last name in descending order----------");
  115.         studentsCopy = new ArrayList<>();
  116.         studentsCopy.addAll(students);
  117.         studentsCopy.sort(
  118.                 ((s1,s2) -> s2.getFirstName().compareTo(s1.getFirstName()))
  119.  
  120.         );
  121.  
  122.         studentsCopy.forEach(s -> System.out.println(s.getFirstName()+" "+s.getLastName()+" "+s.getAge()));
  123.  
  124.  
  125.  
  126.  
  127.     }
  128. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement