Мне нужно реализовать структуру данных сумки, используя интерфейс java.util.Collection
.
Я не прошу помощи по фактической реализации структуры данных. Я просто не могу заставить мою программу компилироваться. Я просто хочу получить пустую реализацию интерфейса (с нефункциональными сигнатурами методов) для компиляции до того, как я начну реализовывать методы.
class Bag<T> implements java.util.Collection<T>
{
public void Collection () {
}
public boolean add(E e) {
}
public boolean addAll (Collection<? extends E> c) {
}
public void clear() {
}
public boolean contains(Object o) {
}
public boolean containsAll(Collection<?> c) {
}
public boolean equals(Object o) {
}
public int hashCode() {
}
public boolean isEmpty() {
}
public Interator<E> interator() {
}
public boolean remove(Object o) {
}
public boolean removeAll(Collection<?> c) {
}
public int size() {
}
public Object[] toArray() {
}
public <T> T[] toArray(T[] a) {
}
}
Компилятор не может найти класс E в параметрах таких методов, как add
. Должен ли я определить класс для E
, или я что-то не понимаю, что такое E на самом деле? Компилятор говорит, что не может найти класс Collection (в параметрах таких методов, как addAll
). Импортирую ли я java.util.Collection
или я должен знать что-то еще? Компилятор также не имеет представления о class Iterator
, как и я.
Я знаю, что все это, вероятно, элементарно, но вчера я ничего не смог найти через Google и т. Д., И лекции моего профессора вообще не следят за проектами. Я потерян на этом. Спасибо за любую помощь!
Редактировать: Кроме того, я не слишком много искал по этому вопросу, но если бы кто-нибудь мог сказать мне что-нибудь полезное о "?", Например, public boolean addAll (Collection<? extends E> c) {}
, это было бы очень полезно.