diff --git "a/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/EventRegistrationManager.java" "b/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/EventRegistrationManager.java" new file mode 100644 index 0000000..5b70104 --- /dev/null +++ "b/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/EventRegistrationManager.java" @@ -0,0 +1,34 @@ +package com.school.faang.hashset.задача_1; + +import java.util.HashSet; +import java.util.Set; +import java.util.List; +import java.util.ArrayList; + +public class EventRegistrationManager { + + private final Set registeredEmails; + + public EventRegistrationManager() { + registeredEmails = new HashSet<>(); + } + + public void addRegistration(String email) { + if (registeredEmails.contains(email)) { + throw new IllegalArgumentException("The email " + email + " is already registered"); + } + registeredEmails.add(email); + } + + public int getParticipantCount() { + return registeredEmails.size(); + } + + public List getAllRegisteredEmails() { + return new ArrayList<>(registeredEmails); + } + + public boolean isRegistered(String email) { + return registeredEmails.contains(email); + } +} diff --git "a/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/Solution.java" "b/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/Solution.java" index b00548d..1d691bc 100644 --- "a/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/Solution.java" +++ "b/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/Solution.java" @@ -2,6 +2,10 @@ public class Solution { public static void main(String[] args) { - + EventRegistrationManager eventRegistrationManager = new EventRegistrationManager(); + eventRegistrationManager.addRegistration("1223@gmail.com"); + eventRegistrationManager.addRegistration("wow@yandex.ru"); + System.out.println(eventRegistrationManager.isRegistered("1223@gmail.com")); +// eventRegistrationManager.addRegistration("wow@yandex.ru"); } } diff --git "a/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/\320\243\320\241\320\233\320\236\320\222\320\230\320\225.md" "b/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/\320\243\320\241\320\233\320\236\320\222\320\230\320\225.md" index 21eb445..e34db5e 100644 --- "a/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/\320\243\320\241\320\233\320\236\320\222\320\230\320\225.md" +++ "b/src/com/school/faang/hashset/\320\267\320\260\320\264\320\260\321\207\320\260_1/\320\243\320\241\320\233\320\236\320\222\320\230\320\225.md" @@ -2,9 +2,8 @@ Представь, что ты организуешь крутую IT-конференцию. Места ограничены, и тебе нужна надёжная система для регистрации участников. Главное требование — каждый участник может зарегистрироваться только один раз, используя свой уникальный email. Если кто-то попытается зарегистрироваться с email, который уже есть в базе, система должна вежливо ему об этом сообщить и не добавлять дубликат. -Использовать обычный список (`List`) для этого было бы катастрофой. При каждой новой регистрации пришлось бы проверять весь список уже записавшихся, чтобы найти дубликаты. На тысяче участников это уже будет заметно тормозить, а на десяти тысячах — сайт просто "ляжет". - -К счастью, ты знаешь про `HashSet`. Он создан для хранения уникальных значений и делает проверку на существование элемента практически мгновенно, сколько бы участников у тебя ни было. +Использовать обычный список (`List`) для этого было бы катастрофой. При каждой новой регистрации пришлось бы проверять весь список уже записавшихся, чтобы найти дубликаты. +К счастью, ты знаешь про `HashSet`. ## Что нужно сделать @@ -34,4 +33,4 @@ Эта задача показывает, как `HashSet` решает фундаментальную бизнес-проблему: обеспечение уникальности данных. -Системы регистрации, подписки на рассылки, списки уникальных посетителей сайта — все они работают по этому принципу. Ты не просто учишься добавлять элементы в коллекцию, а создаешь логику, которая делает систему надёжной и защищённой от некорректных данных. \ No newline at end of file +Системы регистрации, подписки на рассылки, списки уникальных посетителей сайта — все они работают по этому принципу. Ты не просто учишься добавлять элементы в коллекцию, а создаешь логику, которая делает систему надёжной и защищённой от некорректных данных.