
Добавил:
nechitay03
Только когда поступишь в технический вуз поймешь на сколько ты гуманитарий
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:JAVA ДЛЯ ПОТОКОВ ИВБО / ПР-10 / MyStack (1)
.java 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;
}
}
}
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