Назад к вопросам
Senior
6
Как сделать стек универсальным для работы не только с Integer, но и со String и кастомными объектами?
Компании, где спрашивали
солюшин
Ответ от нейросети
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<>();