Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package com.mycompany.app9_dz;
- import java.util.Arrays;
- import java.util.List;
- import java.util.stream.Collectors;
- /**
- *
- * @author Admin
- */
- public class Main {
- /*
- Задача 2
- Использовать стрим. объектов типа Stream<Person> для решения задачи (!)
- Создать метод (!) который в качестве параметра принимает массив объектов типа Person и устанавливает возраст
- для первых n персон из массива - параметры метода
- public static void setAge(Person[] arr, int age, int n)
- Изменить возраст первых n персон данного массива на значение age, только в том случае,
- если имя и фамилия не равны null и текущий возраст человека не равен 0.
- */
- public static void setAge(Person[] arr, int age, int n){
- // пол
- // limit - ограничиваем - берем первые n
- // filter - указываем условие отбора
- // forEach - выполняем изменения для элеента потока
- Arrays.stream(arr).limit(n)
- .filter(s -> (s.getAge()>0 && s.getName()!=null && s.getLastName()!=null))
- .forEach(s -> s.setAge(age));
- }
- /*
- Задача 3
- Использовать стрим. объектов типа Stream<Person> для решения задачи (!)
- Создать метод (!) который в качестве параметра принимает массив объектов типа Person и возвращает
- возраст персон в виде объекта типа List, начиная с элемента массива from - параметры метода, в том случае,
- если значение возраста персоны >=0.
- public static List<Integer> getAgeOfPersons(Person[] arr, int from)
- */
- public static List<Integer> getAgeOfPersons(Person[] arr, int from){
- //
- return Arrays.stream(arr).skip(from-1)
- .filter(s -> s.getAge()>=0).map(s -> s.getAge())
- .collect(Collectors.toList());
- }
- //
- public static void main(String[] args) {
- Person[] arr = {new Person("Name", "lastName", 10), new Person("Name", "lastName", 10)};
- setAge(arr, 40, 1);
- for (Person p: arr) {
- System.out.println("p.name=" + p.getName() + "_age=" + p.getAge());
- }
- System.out.println("getAgeOfPersons:");
- List<Integer> result = getAgeOfPersons(arr, 1);
- for(Integer i: result){
- System.out.println("i=" + i);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement