Sobes.tech
Senior
50

Qanday qilib stekni faqat Integer bilan emas, balki String va maxsus obyektlar bilan ishlash uchun universal qilish mumkin?

Qaerda so'ralgan kompaniyalar
солюшин

AIdan javob

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