У меня проблемы с использованием .contains для проверки, хранится ли строка в HashSet.
import java.util.HashSet;
public class Controller
{
private Queue<String> queue;
private HashSet<String> blocked;
public Controller()
{
queue = new Queue<String>();
blocked = new HashSet<String>();
}
public void add(String item)
{
if (!(blocked.contains(item))) queue.add(item);
}
}
Я осмотрелся и понял, что мне нужно переопределить метод .equals. Означает ли это, что мне нужно создать новый класс, расширяющий HashSet, а затем объявить экземпляр этого нового класса вместо «HashSet заблокирован»??
Мне известна причина, по которой простое использование == для сравнения двух строк не работает, но я запутался, потому что приведенный ниже код действительно работает в некоторых случаях, но не во всех.
Любой совет будет высоко ценится!
Привет