// stack (LIFO: Last In First Out)
// 주요 메소드
// push : 마지막에 아이템 추가
// pop : 마지막 아이템 꺼내기
// peek : 마지막 아이템 보기
// 인스턴스 생성
Stack<Integer> stack = new Stack<Integer>();
stack.push(9);
stack.push(8);
stack.push(3);
// 크기
System.out.println(stack.size()); // 3
// stack.pop();
System.out.println("pop: " + stack.pop()); // 마지막에 push된 3
// pop 해서 2개
System.out.println(stack.size()); // 2
Queue 큐(FIFO) - 선입선출(먼저 들어간게 먼저나옴)
대략 이런 형태
// Queue : FIFO(First In First Out), 선입선출
// Queue 는 인터페이스여서 구현된 Class를 사용하는데 보통 LinkedList를 사용
// 주요 메소드
// offer : 아이템 추가
// poll : 아이템 꺼내기
Queue<Integer> que = new LinkedList<>();
que.offer(9);
que.offer(8);
que.offer(7);
que.offer(6);
System.out.println(que.poll()); // 9 (선입선출)
System.out.println(que.size()); // 3 (size)
System.out.println(que.poll()); // 8
System.out.println(que.size()); // 2 (size)