[JAVA] 스택과 큐
2020. 11. 5. 16:12
728x90
Queue 큐
FIFO(First In First Out)
먼저 저장된 데이터가 먼저 인출 되는 구조
Stack 스택
LIFO(Last In First Out)
가장 나중에 저장된 데이터가 가장 먼저 인출되는 구조
Stack 메소드
boolean empty() | 해당 스택이 비어 있으면 true를, 비어 있지 않으면 false를 반환함. |
E peek() | 해당 스택의 제일 상단에 있는(제일 마지막으로 저장된) 요소를 반환함. |
E pop() | 해당 스택의 제일 상단에 있는(제일 마지막으로 저장된) 요소를 반환하고, 해당 요소를 스택에서 제거함. |
E push(E item) | 해당 스택의 제일 상단에 전달된 요소를 삽입함. |
int search(Object o) |
해당 스택에서 전달된 객체가 존재하는 위치의 인덱스를 반환함. 이때 인덱스는 제일 상단에 있는(제일 마지막으로 저장된) 요소의 위치부터 0이 아닌 1부터 시작함. |
Queue 메소드
boolean add(E e) |
해당 큐의 맨 뒤에 전달된 요소를 삽입함. 만약 삽입에 성공하면 true를 반환하고, 큐에 여유 공간이 없어 삽입에 실패하면 IllegalStateException을 발생시킴. |
E element() | 해당 큐의 맨 앞에 있는(제일 먼저 저장된) 요소를 반환함. |
boolean offer(E e) | 해당 큐의 맨 뒤에 전달된 요소를 삽입함. |
E peek() |
해당 큐의 맨 앞에 있는(제일 먼저 저장된) 요소를 반환함. 만약 큐가 비어있으면 null을 반환함. |
E poll() |
해당 큐의 맨 앞에 있는(제일 먼저 저장된) 요소를 반환하고, 해당 요소를 큐에서 제거함. 만약 큐가 비어있으면 null을 반환함. |
E remove() | 해당 큐의 맨 앞에 있는(제일 먼저 저장된) 요소를 제거함. |
PriorityQueue (우선순위큐)
저장한 순서에 관계없이 우선순위가 높은 것부터 꺼낸다.
저장공간으로 배열을 사용하고 각 요소를 힙(heap) 자료구조 형태로 저장한다.
728x90
'Development > 자바' 카테고리의 다른 글
[JAVA] 객체지향 설계의 5가지 원칙 SOLID (0) | 2021.01.13 |
---|---|
[JAVA] 객체지향의 특징 (0) | 2021.01.13 |
[JAVA] 자바란? (0) | 2020.11.10 |
[JAVA] 배열 (0) | 2020.10.28 |
[JAVA] 람다식이란? (0) | 2020.10.22 |