В настоящее время я практикую реализацию собственных абстрактных структур данных для uni, однако у меня возникла проблема с intelliJ.
В настоящее время я реализую дерево бинарного поиска, по-видимому, когда я пытаюсь реализовать это(в соответствии с лекцией, которую я смотрю), она должна запросить методы void add, void remove, boolean contains и int size.
Однако при автозаполнении методов, которые должны быть реализованы, я получаю: boolean add,логическое удаление, логическое содержимоеAll, логическое значение addAll, логическое значение retainAll, логическое значение removeAll и очистка void.
При попытке изменить тип возвращаемого значения он становится раздражительным и выдает ошибку коллизии при попытке использовать несовместимый тип возвращаемого значения.
Я предполагаю, что это может быть изменено в Java 8 по сравнению с тем, что использовалось в моих лекциях.
Автоматически сгенерированный скелетный класс:
public class BSTSet<T> implements Set<T>{
@Override
public void add(T element){
}
@Override
public void remove(T element){
}
@Override
public boolean contains(T element){
return false
}
@Override
public int size(T element){
return 0;
}
Код, который я получаюэто:
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
public class BSTSet<T> implements Set<T> {
@Override
public int size() {
return elements;
}
@Override
public boolean isEmpty() {
return false;
}
@Override
public boolean contains(T element) {
return false;
}
@Override
public Iterator<T> iterator() {
return null;
}
@Override
public Object[] toArray() {
return new Object[0];
}
@Override
public <T1> T1[] toArray(T1[] a) {
return null;
}
@Override
public boolean add(T element) {
return falsee;
}
@Override
public boolean remove(Object o) {
return false;
}
@Override
public boolean containsAll(Collection<?> c) {
return false;
}
@Override
public boolean addAll(Collection<? extends T> c) {
return false;
}
@Override
public boolean retainAll(Collection<?> c) {
return false;
}
@Override
public boolean removeAll(Collection<?> c) {
return false;
}
@Override
public void clear() {
}
}