Fix an obvious bug in StandardStack implementation

Description

public class StandardStack<T> implements Stack<T> { private LinkedList<T> internalStack = new LinkedList<>(); ... .... @Override public void push(T newCurrent) { internalStack.addFirst( newCurrent ); } @Override public T pop() { return internalStack.removeFirst(); } @Override public T getCurrent() { return internalStack.peek(); } @Override public T getPrevious() { if ( internalStack.size() < 2 ) { return null; } return internalStack.get( internalStack.size() - 2 ); }

As you can see, new node is pushed at the beginning of the linked list, so 'getPrevious()' implementation is wrong. We simply return `internalStack.get( 1 )` (current node corresponds to index of 0).
However, this method has never been used. Also, it has been fixed in v6 for its implementation has been totally changed.

Activity

Show:
Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created February 22, 2020 at 4:23 PM
Updated March 27, 2020 at 5:03 AM
Resolved February 26, 2020 at 10:01 AM