Я новичок в Java, так что извините, если это супер базовый.Мне нужно сделать методы по умолчанию в интерфейсе ISet, чтобы учесть объединение, пересечение и разность двух наборов, созданных в классе, который реализует этот интерфейс.Я знаю, как рассчитать все это, но я не знаю, как сделать это синтаксически в интерфейсе, поскольку он использует объекты интерфейса, а не структуры данных в реализующих классах.
Код:
public interface ISet {
void add(Integer val);
Integer removePos(int pos);
boolean contains(Integer val);
int getSize();
default void union(ISet unionWith) {
//List<Integer>unionSet = new ArrayList<>();
//unionSet.add(unionWith);
//List set = new ArrayList();
//set.addAll(0, unionWith);
//ISet unionSet = this;
// To call in main: this.union(unionWith)
// For my variables it would be mySet.union(mySet2)
//this.getSize();
int size1 = this.getSize();
int size2 = unionWith.getSize();
if(this == unionWith) {
}
//List<Integer> unionList = Arrays.asList(this);
ISet allVals = this.add(Integer val);
for(int i = 0; i < size1 + size2; i++) {
if(!this.contains(Integer.unionWith));
}
}
default void intersect(ISet intWith) {
}
default void difference(ISet diffWith) {
}
}
Извините за кладбище, я просто пробую все, что могу.Практически ничего из этого не работает, за исключением вещей размера.Я знаю, что должен использовать все другие методы, описанные выше, но я не знаю, как их использовать в этом сценарии.
Обычно я пытаюсь выяснить подобные вещи самостоятельно, но через 3 часане имея возможности объединить два набора, я понял, что мне просто нужно больше узнать о том, как работают java и интерфейсы.
Я буду очень признателен за любую помощь, которую вы, ребята, можете предложить!