스택(Stack),큐(Queue),데크(Deque)
스택은 나중에 들어온게 먼저 나가는 LIFO형태의 자료구조다.
* 스택
나중에 들어온게 먼저 나가는 LIFO형태의 자료구조
LIFO : Last in First out
java 라이브러리 스택관련 메서드
Stack<Integer> stack = new Stack<Integer>();
- push(E item)
- 해당 아이템을 스택의 top에 쌓는다.
- 쌓았으면 true, 못쌓았으면 false를 반환한다.
- pop()
- 스택의 맨 위를 삭제하고 반환한다.
- peek()
- 스택의 맨위를 삭제하지 않고 반환한다.
- empty()
- 스택이 비어있으면 true, 아니면 false를 반환한다.
- search(Object o)
- 해당 Object의 위치를 반환한다. top이면 1, 없으면 -1
* 큐
먼저 들어온게 먼저 나가는 FIFO형태의 자료구조
FIFO : First in First out
java 라이브러리 큐관련 메서드
Queue<Integer> q = new LinkedList<Integer>();
- offer(E item)
- 해당 아이템을 큐에 넣는다.
- 넣었으면 true, 못넣었으면 false반환한다.
- poll()
- 큐의 맨 앞을 삭제하고 반환한다.
- peek()
- 큐의 맨앞을 삭제하지 않고 반환한다.
- isEmpty()
- 큐가 비어있으면 true, 아니면 false를 반환한다.
* 덱
양쪽에서 삽입 삭제가 가능한 형태의 자료구조
사용에따라 스택, 큐가 될 수 있다.
java 라이브러리 덱관련 메서드
Deque<Integer> deque = new ArrayDeque<Integer>();
- add(E item)
- 해당 아이템을 덱에 넣는다.
- addFirst(E item)
- 덱의 맨 앞에 넣는다.
- 덱의 맨 앞에 넣는다.
- addLast(E item)
- 덱의 맨 뒤에 넣는다.
- poll()
- 덱의 맨 앞을 삭제하고 반환한다.
- pollFirst()
- 덱의 맨 앞을 삭제하고 반환한다.
- 덱의 맨 앞을 삭제하고 반환한다.
- pollLast()
- 덱의 맨 뒤를 삭제하고 반환한다.
- peek()
- 덱의 맨앞을 삭제하지 않고 반환한다.
- peekFirst()
- 덱의 맨앞을 삭제하지 않고 반환한다.
- 덱의 맨앞을 삭제하지 않고 반환한다.
- peekLast()
- 덱의 맨뒤를 삭제하지 않고 반환한다.
- isEmpty()
- 덱이 비어있으면 true, 아니면 false를 반환한다.