Назад к вопросам
Junior — Middle
81
Каким образом можно реализовать структуру данных Stack в программировании?
Ответ от нейросети
sobes.tech AI
Стек (Stack) — это структура данных, работающая по принципу LIFO (Last In, First Out), то есть последний добавленный элемент извлекается первым.
В Android (Java/Kotlin) стек можно реализовать несколькими способами:
- Использовать класс
Stackиз Java Collections:
import java.util.Stack;
Stack<Integer> stack = new Stack<>();
stack.push(10); // Добавить элемент
int top = stack.pop(); // Извлечь верхний элемент
- Использовать
Dequeкак стек (предпочтительный способ):
import java.util.ArrayDeque;
import java.util.Deque;
Deque<Integer> stack = new ArrayDeque<>();
stack.push(10); // Добавить элемент
int top = stack.pop(); // Извлечь верхний элемент
- Реализовать стек самостоятельно с помощью списка:
import java.util.ArrayList;
public class MyStack<T> {
private ArrayList<T> list = new ArrayList<>();
public void push(T item) {
list.add(item);
}
public T pop() {
if (list.isEmpty()) {
throw new RuntimeException("Stack is empty");
}
return list.remove(list.size() - 1);
}
public boolean isEmpty() {
return list.isEmpty();
}
}
Таким образом, стек можно реализовать либо с помощью готовых классов Java, либо самостоятельно, используя список и методы добавления/удаления с конца коллекции.