Не обманывайте себя, думая, что Stack.push
и ArrayDeque.push
имеют какое-либо отношение.Несмотря на то же имя и параметры, они не имеют ничего общего друг с другом.
Stack.push
определено в классе Stack
.
ArrayDeque.push
реализует метод Deque.push
.Но Stack
не Deque
- вы только надеваете вещи и снимаете вещи с одного конца, тогда как последовательность позволяет вам ставить и брать с обоих концов («De» означает «двусторонний»).
Поскольку они являются не связанными методами в несвязанных классах, вы не должны ожидать, что они будут делать то же самое.Они могут , конечно - вы должны проверить Javadoc, чтобы увидеть, каковы контракты классов - просто не следует ожидать, что они делают .