sergAccount

Untitled

Feb 13th, 2021
531
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package com.mycompany.app9_dz;
  7.  
  8. import java.util.Arrays;
  9. import java.util.List;
  10. import java.util.stream.Collectors;
  11.  
  12. /**
  13.  *
  14.  * @author Admin
  15.  */
  16. public class Main {
  17.     /*
  18.     Задача 2
  19.     Использовать стрим. объектов типа Stream<Person> для решения задачи (!)
  20.     Создать метод (!) который в качестве параметра принимает массив объектов типа Person и устанавливает возраст
  21.     для первых n персон из массива - параметры метода
  22.     public static void setAge(Person[] arr, int age, int n)
  23.  
  24.     Изменить возраст первых n персон данного массива на значение age, только в том случае,
  25.     если имя и фамилия не равны null и текущий возраст человека не равен 0.
  26.     */
  27.    
  28.     public static void setAge(Person[] arr, int age, int n){
  29.         // пол
  30.         // limit - ограничиваем - берем первые n
  31.         // filter - указываем условие отбора
  32.         // forEach - выполняем изменения для элеента потока
  33.         Arrays.stream(arr).limit(n)
  34.                 .filter(s -> (s.getAge()>0 && s.getName()!=null && s.getLastName()!=null))
  35.                 .forEach(s -> s.setAge(age));            
  36.     }
  37.     /*
  38.     Задача 3
  39.     Использовать стрим. объектов типа Stream<Person> для решения задачи (!)
  40.     Создать метод (!) который в качестве параметра принимает массив объектов типа Person и возвращает
  41.     возраст персон в виде объекта типа List, начиная с элемента массива from - параметры метода, в том случае,
  42.     если значение возраста персоны >=0.
  43.     public static List<Integer> getAgeOfPersons(Person[] arr, int from)
  44.     */
  45.     public static List<Integer> getAgeOfPersons(Person[] arr, int from){
  46.         //
  47.         return Arrays.stream(arr).skip(from-1)
  48.                                  .filter(s -> s.getAge()>=0).map(s -> s.getAge())
  49.                                  .collect(Collectors.toList());
  50.     }            
  51.     //
  52.     public static void main(String[] args) {
  53.         Person[] arr = {new Person("Name", "lastName", 10), new Person("Name", "lastName", 10)};
  54.         setAge(arr, 40, 1);
  55.         for (Person p: arr) {
  56.             System.out.println("p.name=" + p.getName() + "_age=" + p.getAge());
  57.         }
  58.        
  59.         System.out.println("getAgeOfPersons:");
  60.         List<Integer> result = getAgeOfPersons(arr, 1);
  61.         for(Integer i: result){
  62.             System.out.println("i=" + i);
  63.         }
  64.     }
  65. }
  66.  
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×