Update StackArrayList.java

This commit is contained in:
Libin Yang
2019-01-06 09:01:33 +08:00
committed by GitHub
parent fc64d05b5c
commit 7c33d2e313

View File

@ -2,17 +2,16 @@ import java.util.ArrayList;
/** /**
* This class implements a Stack using an ArrayList. * This class implements a Stack using an ArrayList.
* * <p>
* A stack is exactly what it sounds like. An element gets added to the top of * A stack is exactly what it sounds like. An element gets added to the top of
* the stack and only the element on the top may be removed. * the stack and only the element on the top may be removed.
* * <p>
* This is an ArrayList Implementation of a stack, where size is not * This is an ArrayList Implementation of a stack, where size is not
* a problem we can extend the stack as much as we want. * a problem we can extend the stack as much as we want.
* *
* @author Unknown * @author Unknown
*
*/ */
public class StackArrayList{ public class StackArrayList {
/** /**
* Main method * Main method
@ -20,28 +19,31 @@ public class StackArrayList{
* @param args Command line arguments * @param args Command line arguments
*/ */
public static void main(String[] args) { public static void main(String[] args) {
StackArrayList myStackArrayList = new StackArrayList(); //Declare a stack of maximum size 4
//Populate the stack StackArrayList myStackArrayList = new StackArrayList();
myStackArrayList.push(5); myStackArrayList.push(5);
myStackArrayList.push(8); myStackArrayList.push(8);
myStackArrayList.push(2); myStackArrayList.push(2);
myStackArrayList.push(9); myStackArrayList.push(9);
System.out.println("*********************Stack List Implementation*********************"); System.out.println("*********************Stack List Implementation*********************");
System.out.println(myStackArrayList.isEmpty()); //will print false System.out.println(myStackArrayList.isEmpty()); // will print false
System.out.println(myStackArrayList.peek()); //will print 9 System.out.println(myStackArrayList.peek()); // will print 9
System.out.println(myStackArrayList.pop()); //will print 9 System.out.println(myStackArrayList.pop()); // will print 9
System.out.println(myStackArrayList.peek()); // will print 2 System.out.println(myStackArrayList.peek()); // will print 2
System.out.println(myStackArrayList.pop()); //will print 2 System.out.println(myStackArrayList.pop()); // will print 2
} }
/** ArrayList representation of the stack */ /**
* ArrayList representation of the stack
*/
private ArrayList<Integer> stackList; private ArrayList<Integer> stackList;
/** /**
* Constructor * Constructor
*/ */
public StackArrayList(){ public StackArrayList() {
stackList = new ArrayList<>(); stackList = new ArrayList<>();
} }
@ -51,7 +53,7 @@ public class StackArrayList{
* *
* @param value value to be added * @param value value to be added
*/ */
public void push(int value){ public void push(int value) {
stackList.add(value); stackList.add(value);
} }
@ -61,16 +63,15 @@ public class StackArrayList{
* *
* @return Element popped * @return Element popped
*/ */
public int pop(){ public int pop() {
if(!isEmpty()){ // checks for an empty Stack if (!isEmpty()) { // checks for an empty Stack
int popValue = stackList.get(stackList.size() - 1);
int popValue=stackList.get(stackList.size()-1); stackList.remove(stackList.size() - 1); // removes the poped element from the list
stackList.remove(stackList.size()-1); //removes the poped element from the list
return popValue; return popValue;
} }
System.out.print("The stack is already empty "); System.out.print("The stack is already empty!");
return -1; return -1;
} }
@ -79,7 +80,7 @@ public class StackArrayList{
* *
* @return true if stack is empty * @return true if stack is empty
*/ */
public boolean isEmpty(){ public boolean isEmpty() {
return stackList.isEmpty(); return stackList.isEmpty();
} }
@ -88,7 +89,7 @@ public class StackArrayList{
* *
* @return top element of stack * @return top element of stack
*/ */
public int peek(){ public int peek() {
return stackList.get(stackList.size()-1); return stackList.get(stackList.size() - 1);
} }
} }