Sobes.tech
Назад к вопросам
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<>();