Stack
Last updated
Last updated
참고 링크
Vector
:Vector
클래스를 상속받아Vector
클래스 기능 사용 가능
Stack
클래스는 LIFO(Last In First Out) 기능을 구현하려 할때 필요한 클래스이다.
하지만 기능때문에, Stack
클래스를 사용하는 것은 추천하지 않는다. 더 좋은 성능의 ArrayDeque
가 있기 때문이다.
하지만 ArrayDeque
는 Thread Safe 하지 않는데, 이때는 Collections.synchronizedDeque()
를 사용하자.
Stack
클래스는 자바에서 상속을 잘못 받은 케이스이다. 이 클래스가 JDK 1.0 부터 존재했기 때문에, 원래의 취지인 LIFO 를 생각한다면, Vector
에 속해서는 안된다. 하지만 자바의 하위 호환성을 위해서 유지하고 있다고 생각하면 된다.
boolean empty()
: 객체가 비어있는지를 확인한다.
E peek()
: 객체의 가장 위에 있는 데이터를 리턴.
E pop()
: 객체의 가장 위에 있는 데이터를 지우고, 리턴
E push(E item)
: 매개변수로 넘어온 데이터를 가장 위에 저장
int search(Object o)
: 매개변수로 넘어온 데이터 위치를 리턴