Добавил:
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
0
Добавлен:
15.02.2025
Размер:
1.39 Кб
Скачать
import java.util.ArrayList;

public class MyStack implements Cloneable {
private ArrayList<Object> stack;

public MyStack() {
stack = new ArrayList<>();
}

public boolean isEmpty() {
return stack.isEmpty();
}

public int getSize() {
return stack.size();
}

public Object peek() {
if (isEmpty()) {
return null;
}
return stack.get(stack.size() - 1);
}

public Object pop() {
if (isEmpty()) {
return null;
}
return stack.remove(stack.size() - 1);
}

public void push(Object o) {
stack.add(o);
}

@Override
protected Object clone() {
try {
MyStack cloned = (MyStack) super.clone();
cloned.stack = new ArrayList<>();
for (Object item : this.stack) {
if (item instanceof Cloneable) {
cloned.stack.add(((Cloneable) item).getClass()
.getMethod("clone")
.invoke(item));
} else {
throw new CloneNotSupportedException("объект не поддерживает: " + item);
}
}
return cloned;
} catch (Exception e) {
return null;
}
}
}
Соседние файлы в папке ПР-10