У меня есть назначение Java, где мы должны запрограммировать «базу данных» книг и журналов, используя класс ArrayList, чтобы хранить их как объекты типа Reference.Поиск ключевых слов в HashMap с введенной пользователем строкой
Одним из требований этого задания является то, что мы разделяем названия книг в базе данных и сохраняем их в HashMap, чтобы впоследствии разрешить поиск по ключевым словам.
Мой HashMap объявлен как это: private HashMap <String, Reference> titles = new HashMap <String,Reference> (10);
Я знаю, через тестирование, что, как я добавить заголовки и ссылки на HashMap работы. Не работает функция поиска.
private void searchBooks(String callNumber, String[] keywords, int startYear, int endYear) {
Set<String>commonKeys = new HashSet<String>();
for(int i = 0; i < keywords.length; i ++)
{
commonKeys.add(keywords[i]);
}
titles.keySet().retainAll(commonKeys);
System.out.println(titles);
Это код, который я кусочки основан от моих знаний, и подобные проблемы, я смог найти на этом сайтах различных нитей.
Я подхожу к этому правилу? Есть что-то, что мне не хватает?
Я не уверен, что вы имеете в виду ... – user275615
Забыл упомянуть выше, и я не могу редактировать, но код, который у меня есть сейчас, но только находит ОДИН из книг, и его всегда самое последнее один добавлен в HashMap. – user275615
Вы пытаетесь удалить найденные предметы? потому что keepAll() удаляет все вхождения этого элемента из HashMap –