FIFO 구조 먼저 들어온 사람이 먼저 빠져 나간다. > 음식점을 줄을 생각하면 좋다.
Enqueue -> 큐에 데이터 삽입
Dequeue -> 큐에 데이터 내보내기
큐는 멀티 태스킹 작업에 스케쥴링 작업에 많이 쓰임
큐 작성해보기
import java.util.ArrayList;
public class MyQueue<T> {
private ArrayList<T> queue = new ArrayList<>();
public void enqueue(T item) {
queue.add(item);
}
public T dequeue() {
if(queue.isEmpty()) return null;
return queue.remove(0);
}
public boolean isEmpty() {
return queue.isEmpty();
}
public static void main(String[] args) {
MyQueue<Integer> queue = new MyQueue<>();
queue.enqueue(1);
queue.enqueue(2);
queue.dequeue();
}
}
스택 작성해보기
import java.util.ArrayList;
import java.util.List;
public class MyStack<T> {
List<T> stack = new ArrayList<>();
public void push(T data) {
stack.add(data);
}
public T pop() {
if(stack.isEmpty()) {
return null;
}
return stack.remove(stack.size() - 1);
}
}