/
vnni18
/
javacore-96_lambdaTask2
Обзор
Документация
Войти
/
vnni18
/
javacore-96_lambdaTask2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/task4/Main.java
45 строк
2 KB
vnni18
lambda-task2: new code
10 окт 2025, 19:32
10 окт 2025, 19:32
e108b06
Код
Авторство
О чём код?
package task4; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Comparator; import java.util.List; import java.util.Random; public class Main { public static void main(String[] args) { List<String> names = Arrays.asList("Jack", "Connor", "Harry", "George", "Samuel", "John"); List<String> families = Arrays.asList("Evans", "Young", "Harris", "Wilson", "Davies", "Adamson", "Brown"); Collection<Person> persons = new ArrayList<>(); for (int i = 0; i < 10_000_000; i++) { persons.add(new Person( names.get(new Random().nextInt(names.size())), families.get(new Random().nextInt(families.size())), new Random().nextInt(100), Sex.values()[new Random().nextInt(Sex.values().length)], Education.values()[new Random().nextInt(Education.values().length)]) ); } long countYoungPerson = persons.stream() .filter(person -> person.getAge() < 18) .count(); List<String> familySolderList = persons.stream() .filter(person -> Sex.MAN.equals(person.getSex()) && person.getAge() >= 18 && person.getAge() <= 27) .map(Person::getFamily) .toList(); List<Person> workingPersonList = persons.stream() .filter(person -> Education.HIGHER.equals(person.getEducation())) .filter(person -> Sex.MAN.equals(person.getSex()) && person.getAge() >= 18 && person.getAge() <= 65 || Sex.WOMAN.equals(person.getSex()) && person.getAge() >= 18 && person.getAge() <= 60) .sorted(Comparator.comparing(Person::getFamily)) .toList(); } }