Advertisement
sergAccount

Untitled

Feb 13th, 2021
581
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.90 KB | None | 0 0
  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.  
  10. /**
  11.  *
  12.  * @author Admin
  13.  */
  14. public class Main {
  15.     /*
  16.     Задача 2
  17.     Использовать стрим. объектов типа Stream<Person> для решения задачи (!)
  18.     Создать метод (!) который в качестве параметра принимает массив объектов типа Person и устанавливает возраст
  19.     для первых n персон из массива - параметры метода
  20.     public static void setAge(Person[] arr, int age, int n)
  21.  
  22.     Изменить возраст первых n персон данного массива на значение age, только в том случае,
  23.     если имя и фамилия не равны null и текущий возраст человека не равен 0.
  24.     */
  25.    
  26.     public static void setAge(Person[] arr, int age, int n){
  27.         // пол
  28.         // limit - ограничиваем - берем первые n
  29.         // filter - указываем условие отбора
  30.         // forEach - выполняем изменения для элеента потока
  31.         Arrays.stream(arr).limit(n)
  32.                 .filter(s -> (s.getAge()>0 && s.getName()!=null && s.getLastName()!=null))
  33.                 .forEach(s -> s.setAge(age));
  34.            
  35.     }
  36.     //
  37.     public static void main(String[] args) {
  38.         Person[] arr = {new Person("Name", "lastName", 10), new Person("Name", "lastName", 10)};
  39.         setAge(arr, 40, 1);
  40.         for (Person p: arr) {
  41.             System.out.println("p.name=" + p.getName() + "_age=" + p.getAge());
  42.         }
  43.     }
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement