JAVA - 컬렉션 프레임웍(Collections Framework) (4)

jodbsgh·2022년 4월 1일
0

💡"JAVA"

목록 보기
31/67

Stack과 Queue

Stack
LIFO(Last In First Out)구조

Queue
FIFO(First In First Out)구조

순차적으로 데이터를 추가하고 삭제하는 Stack은,
ArrayList와 같은 배열기반의 컬렉션 클래스가 적합하다.

Queue의 경우는 데이터를 꺼낼 때 항상 첫번 째 저장된 데이터를 삭제하므로, ArrayList와 같은 배열기반의 컬렉션 클래스를 사용한다면 데이터를 꺼낼 떄 마다 빈 공간을 채우기 위해 데이터의 복사가 발생하기에 비효율적이다.

그래서 Queue는 ArrayList보다 데이터의 추가/삭제 가 쉬운 LinkedList로 구현하는 것이 더 적합하다.

스택과 큐의 활용

스택의 활용 예
수식계산, 수식괄호검사, 워드프로세서의 undo/redo(뒤로가기, 다시 앞으로가기), 웹브라우저의 뒤로.앞으로

큐의 활용 예
최근사용문서, 인쇄작업 대기목록, 버퍼(buffer)

profile
어제 보다는 내일을, 내일 보다는 오늘을 🚀

0개의 댓글