- JAVA ArrayList 클래스를 활용해서 스택을 다루는 push,pop 기능 구현
- pop 호출 시 스택에 데이터가 없을 경후 null을 리턴하도록 함
- 다양한 데이터 타입을 다룰 수 있도록 Java 제너릭 타입 문법 활용
package pack_stack;
import java.util.ArrayList;
public class MyStack<T> {
private ArrayList<T> stack = new ArrayList<T>();
public void push(T item) {
stack.add(item);
}
public T pop() {
if (stack.isEmpty()) {
return null;
}
return stack.remove(stack.size()-1);
}
public boolean isEmpty() {
return stack.isEmpty();
}
public static void main(String[] args) {
MyStack<Integer> ms = new MyStack<Integer>();
ms.push(1);
ms.push(2);
System.out.println(ms.pop());
ms.push(3);
System.out.println(ms.pop());
System.out.println(ms.pop());
}
}
2
3
1