java공부
java/자바 Collection Stack구조(후입선출), Queue구조(선입선출)
이쟤키
2021. 8. 15. 18:10
반응형
Stack 구조는 Last In First Out 후입선출 즉 나중에 들어간게 먼저 나오는 구조를 가졌다.
Stack<Integer> stack = new Stack<>();
stack.push(1);
stack.push(2);
stack.push(3);
while(!(stack.isEmpty())) {
System.out.print(stack.pop()); // 3 2 1
}
System.out.println(stack.size()); // 0
이런식으로 1, 2, 3순서로 입력했어도
3, 2, 1로 출력된다.
Queue 구조는 First In First Out 선입선출 즉 먼저 들어간 것이 먼저 나오는 구조를 가지고 있다.
Queue<Integer> q = new LinkedList<>();
q.offer(3);
q.offer(2);
q.offer(1);
while(!(q.isEmpty())) {
System.out.print(q.poll()); // 3 2 1
}
System.out.println(q.size()); // 0
이런식으로 3, 2, 1순서로 입력하니
입력한 순서대로 3, 2, 1이 출력된다.
Stack이든 Queue든
내보내면 결국 비어서 size로 내부에 몇 개가 있는지 확인해 보면 0이 된다.