/
Sergei_Zikov
/
lab
Обзор
Документация
Войти
/
Sergei_Zikov
/
lab
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Main.java
47 строк
2 KB
Sergei_Zikov
upload files
25 янв 2026, 16:51
Верифицирован
25 янв 2026, 16:51
ad6c149
Код
Авторство
О чём код?
import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; 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)]) ); } //количество несовершеннолетних (т.е. людей младше 18 лет) long minorCount = persons.stream(). filter(p -> p.getAge() < 18). count(); //список фамилий призывников (т.е. мужчин от 18 и до 27 лет) List<String> conscripts = persons.stream(). filter(p -> p.getSex() == Sex.MAN). filter(p -> p.getAge() >= 18). filter(p -> p.getAge() <= 27). map(Person::getFamily). collect(Collectors.toList()); //список потенциально работоспособных людей с высшим образованием List<Person> workingHight = persons.stream() .filter(p -> p.getEducation() == Education.HIGHER) .filter(p -> p.getAge() >= 18) .filter(p -> (p.getSex() == Sex.WOMAN && p.getAge() <= 60) || (p.getSex() == Sex.MAN && p.getAge() <= 65)) .sorted(Comparator.comparing(Person::getFamily)) .collect(Collectors.toList()); } }