/
Mozokhin
/
Dictionary
Обзор
Документация
Войти
/
Mozokhin
/
Dictionary
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
DictWords.java
64 строки
3 KB
vladimir
коментарии
28 май 2024, 06:55
28 май 2024, 06:55
4df6ced
Код
Авторство
О чём код?
import java.io.FileInputStream; import java.io.ObjectInputStream; import java.util.ArrayList; // Класс DictWords наследуется от BaseDict и переопределяет некоторые методы public class DictWords extends BaseDict { // Поле для хранения маски ключей, соответствует строке из 4 букв private String mask = "[a-z]{4}"; // Переопределенный метод для проверки ключа на соответствие маске и непустоту @Override public boolean Check(String key) { return key.matches(this.getMask()) && !key.isBlank(); } // Конструктор по умолчанию DictWords() {} // Конструктор, принимающий список элементов DictWords(ArrayList<Elem> keyValues) { // Вызываем конструктор базового класса super(keyValues); // Создаем новый список для элементов, прошедших проверку ArrayList<Elem> checkedKeys = new ArrayList<>(); // Проверяем каждый элемент на соответствие маске for (Elem elem : keyValues) { if (Check(elem.getKey())) { checkedKeys.add(elem); } } // Устанавливаем список прошедших проверку элементов в baseDict setBaseDict(checkedKeys); } // Переопределенный метод для получения маски ключей @Override public String getMask() { return mask; } // Переопределенный метод для десериализации словаря из файла @SuppressWarnings("unchecked") @Override public void deserialize(String fileName){ try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream(fileName + ".ser"))) { // Читаем объект из файла и приводим его к типу ArrayList<Elem> ArrayList<Elem> dict = (ArrayList<Elem>) ois.readObject(); // Создаем новый список для элементов, прошедших проверку ArrayList<Elem> newDict = new ArrayList<>(); // Проверяем каждый элемент на соответствие маске for (Elem el : dict) { if (Check(el.getKey())) { newDict.add(el); } } // Устанавливаем список прошедших проверку элементов в baseDict setBaseDict(newDict); } catch (Exception e) { // Обрабатываем исключения, если произошла ошибка e.printStackTrace(); } } }