Lessons 39 - angelShlesser/HomeWorksAIT GitHub Wiki
Упражнение: Управление базой данных студентов с использованием HashSet в Java
Описание: В этом упражнении вы будете работать с коллекцией HashSet в Java для управления уникальным набором объектов. Ваша задача - создать простую базу данных студентов, где каждый студент имеет уникальный идентификатор. Вы будете использовать HashSet для хранения студентов и гарантии отсутствия дубликатов.
Основные компоненты:
Класс Student:
Поля:
id (int): уникальный идентификатор студента.
name (String): имя студента.
age (int): возраст студента.
Методы:
Конструктор для инициализации всех полей. Геттеры/Сеттеры.
Класс StudentDatabase:
Поля:
students (HashSet): коллекция для хранения данных студентов.
Методы:
Конструктор для инициализации коллекции students.
addStudent(Student student): должен добавлять объект Student в students, если такого студента еще нет в базе данных.
removeStudent(Student student): должен удалять объект Student из students, если он там есть.
containsStudent(Student student): должен проверять, содержится ли объект Student в students.
printAllStudents(): должен выводить на экран данные всех студентов в students.
Класс Main (или другой класс с методом main):
Создайте экземпляр StudentDatabase.
Создайте несколько экземпляров Student с различными данными.
Добавьте, проверьте на наличие и удалите Student из StudentDatabase.
Выведите всех студентов в базе данных.
Дополнительно:
Рассмотрите возможность расширения функциональности, добавив дополнительные методы в StudentDatabase, например, для поиска студента по имени или для получения списка студентов в определенном возрастном диапазоне.
Дополнительное задание для тестирования:
Написание Unit-тестов для базы данных студентов
Цель: Убедиться, что методы класса StudentDatabase работают правильно во всех предполагаемых сценариях использования.
Тестирование:
Напишите тесты для каждого из следующих сценариев:
addStudent успешно добавляет студента.
addStudent не добавляет дубликаты.
removeStudent успешно удаляет студента.
removeStudent ничего не делает, если студента нет в базе данных.
containsStudent возвращает true для существующего студента.
containsStudent возвращает false для несуществующего студента.