Sobes.tech
Senior
46

Қалайша стекті тек қана Integer-мен емес, сонымен қатар String және жеке объектілермен жұмыс істеу үшін универсалды етуге болады?

Сұралған компаниялар
солюшин

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<>();