스택의 가장 마지막 위치에 데이터 추가
스택의 가장 마지막 위치에 있는 데이터 꺼내기
스택의 가장 마지막위치에 있는 데이터 반환
스택 비우기
Stack stack = new Stack();
stack.push(1);
stack.push(2);
stack.push(3);
stack.push(4);
stack.push(5);
System.out.println(stack); // [1, 2, 3, 4, 5]
System.out.println(stack.pop()); // 5
System.out.println(stack); // [1, 2, 3, 4]
System.out.println(stack.peek()); // 4
stack.clear();
class MyStack1{
ArrayList list;
MyStack(){
this.list = new ArrayList();
}
public boolean isEmpty(){
if(this.list.size() ==0){
return true;
} else {
return false;
}
}
public void push(int data){
this.list.add(data);
}
public Integer pop(){
if(this.isEmpty()){
System.out.println("Stack is Empty");
return null;
}
int data = (int)this.list.get(this.list.size() - 1);
this.list.remove(this.list.size() - 1);
return data;
}
public Integer peek(){
if(this.isEmpty()){
System.out.println("Stack is Empty");
return null;
}
int data = (int)this.list.get(this.list.size() - 1);
return data;
}
public void printStack(){
System.out.println(this.list);
}
}
class MyStack2{
int[] arr;
int top = -1;
Mystack2(int size){
arr = new int[size];
}
public boolean isEmpty(){
if(this.top == -1){
return true;
} else {
return false;
}
}
public boolean isFull(){
if(this.top == this.arr.length - 1){
return true;
} else {
return false;
}
}
public void push(int data){
if(this.isFull()){
System.out.println("Stack is full!");
return;
}
this.top +=1;
this.arr[this.top] = data;
}
public Integer pop(){
if(this.isEmpty()){
System.out.println("Stack is Empty");
return null;
}
int data = this.arr[this.top];
this.top -= 1;
return data;
}
public Integer peek(){
if(this.isEmpty()){
System.out.println("Stack is Empty");
return null;
}
return this.arr[this.top];
}
public printStack(){
for(int item: this.arr){
System.out.print(item+" ");
}
}
}