Stack, Queue

김남건·2021년 7월 24일
0
post-thumbnail

Stack<E> 클래스

List 인터페이스를 구현한 Vector를 상속받은 클래스이다.

메서드

empty, peek, pop, push, search가 있다. Vector로부터 이 5개 메서드만 상속받는다.

메서드설명
boolean empty()스택이 비어 있으면 true 반환
E peek()제일 마지막으로 저장된 객체를 반환
E pop()제일 마지막으로 저장된 객체를 스택에서 제거하고, 해당 객체를 반환
E push(E item)해당 객체를 스택에 삽입
int search(Object o)해당 스택에서 전달된 객체가 존재하는 index를 반환
제일 마지막에 저장된 객체부터 0에서 시작함.

ArrayDeque<E> 클래스

Deque인터페이스를 구현한 클래스로, 더 복잡하고 빠른 스택을 구현할 때 사용하면 된다.

Deque<Integer> st = new ArrayDeque<Integer>();

Queue<E> 인터페이스

Stack과는 달리 Queue는 인터페이스이다.

하위 인터페이스로는 Deque, BlockingDeque, BlockingQueue, TransferQueue가 있다.

Deque를 구현한 LinkedList와 같이 여러 클래스가 Queue를 직간접적으로 구현하였다.

메서드

Queue를 표현하기 위하여, Collection 인터페이스의 메서드만을 상속받는다.

메서드설명
boolean add(E e)해당 객체를 큐에 삽입
성공하면 true반환, 큐에 여유 공간이 없어 실패하면 IllegalStateException 발생
boolean offer(E e)큐에 해당 객체를 삽입
E peek()제일 먼저 저장된 객체를 반환
큐가 비어 있으면 null 반환
E poll()제일 먼저 저장된 객체를 큐에서 제거하고, 해당 객체를 반환
큐가 비어 있다면 null 반환

ArrayDeque<E> 클래스

더 복잡하고 빠른 Queue를 구현하기 위해 사용한다.

Deque<Integer> qu = new ArrayDeque<Integer>();

Reference

http://tcpschool.com/java/java_collectionFramework_stackQueue

0개의 댓글

관련 채용 정보