Я готовлюсь к финалу, и я столкнулся с этим вопросом -
Учитывая следующий код, есть ли способ реализации класса A, такой, что в конце он напечатает 5 в один прогон программы, затем другой прогон программы 4, затем другой прогон 3 ... до 0.
Можно предположить, что это определено c, поэтому функции будут генерировать всегда одинаковые результаты.
Невозможно удалить какой-либо код в классе A, а не в главном, и в состоянии только редактировать класс A.
public class A {
int i, j;
public A(int i, int j) {
this.i = i;
this.j = j;
}
public static void main(String[] args) {
Set<A> s = new LinkedHashSet<>();
s.add(new A(3,1));
s.add(new A(1,3));
s.add(new A(3,1));
s.add(new A(3,1));
s.add(new A(2,1));
System.out.println(s.size());
}
}
Я думал добавить какой-то вид c HASHMAP и каждый Когда я создаю объект, я добавляю его туда и проверяю, существует ли один ключ, тогда я хотел бы «не создавать» объект, если он уже существует с такими же значениями ... но не может его реализовать.