Senior
49
Kaip padaryti, kad stekas būtų universalus dirbti ne tik su Integer, bet ir su String ir individualiais objektais?
Įmonės kur klausė
солюшин
Atsakymas iš AI
sobes.tech AI
Чтобы сделать стек универсальным и работать с любыми типами данных (Integer, String, кастомные объекты), в Java используют обобщения (generics).
Пример универсального стека:
public class Stack<T> {
private List<T> elements = new ArrayList<>();
public void push(T item) {
elements.add(item);
}
public T pop() {
if (elements.isEmpty()) {
throw new EmptyStackException();
}
return elements.remove(elements.size() - 1);
}
public boolean isEmpty() {
return elements.isEmpty();
}
}
Теперь можно создавать стек для любого типа:
Stack<Integer> intStack = new Stack<>();
Stack<String> stringStack = new Stack<>();
Stack<MyObject> objectStack = new Stack<>();