자료구조중 하나인 스택은 쌓아 올린다는 것을 의미한다.
스택은 LIFO(LAST IN FIRST OUT)방식으로 가장 나중에 들어온 것이 가장 먼저 삭제되는 방식이다.
또한 데이터를 정해진 방향으로만 쌓을 수 있고, 데이터의 삽입, 삭제는 push, pop메서드를 이용하면 된다.
- 웹 브라우저 뒤로가기: 뒤로가기를 누르면 가장 마지막에 열린 페이지로 이동
- 문서작업 시 Ctrl+Z: 가장 나중에 수정한 내역부터 되돌림
- 역순 문자열 만들기: 가장 나중에 입력된 문자부터 출력
- 실행 취소: 가장 나중에 실행된 것부터 실행취소
QUEUE는 FIFO(FIRST IN FIRST OUT)방식의 자료구조를 말한다.
스택은 하나의 입구에서 데이터의 삽입과 삭제가 이루어졌지만, 큐는 한쪽에선 삽입이, 다른 쪽에선 삭제가 이루어진다. 따라서 가장 먼저 들어온 데이터가 가장 먼저 삭제된다.
은행에서 먼저 온 사람의 업무를 처리하는걸 생각하면 된다.
- 은행 업무
- 콜센터 고객 대기시간
- 캐시 구현
- 프로세스 관리 등
큐는 인터페이스로 다른 클래스가 구현해줘야한다.
LinkedList가 구현하고 있기 때문에
객체의 생성이 Queue<> qe = new LinkedList<>();의 선언으로 가능해진다.