Dlaczego powinienem używać Deque over Stack?
PotrzebujęStack
struktura danych dla mojego przypadku użycia. Powinienem móc wcisnąć elementy do struktury danych i chcę tylko pobrać ostatni element ze stosu. TheJavaDoc dla stosu mówi :
Bardziej kompletny i spójny zestaw operacji stosu LIFO jest dostarczany przez interfejs Deque i jego implementacje, które powinny być używane zamiast tej klasy. Na przykład:
Deque<Integer> stack = new ArrayDeque<>();
Zdecydowanie nie chcę tutaj zsynchronizowanego zachowania, ponieważ będę używał tej struktury danych lokalnych do metody. Poza tym dlaczego powinienem preferowaćDeque
koniecStack
tutaj?
P.: Javadoc z Deque mówi:
Deki mogą być również używane jako stosy LIFO (Last-In-First-Out). Ten interfejs powinien być preferowany w stosunku do starszej klasy stosu.