스택은 나중에 들어온게 먼저 나가는 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를 반환한다.