스택 Stack
쌓아 올리는 것
자료를 정해진 방향으로만 쌓을 수 있다.
가장 마지막에 입력된 자료가 가장 먼저 읽힌다. (LIFO)
※ LIFO: Last In First Out, 후입 선출구조
- 자료 저장: push
- 자료 읽기: pop
사용 : 브라우저 사용기록, 실행 취소
주요 메소드
- push(): 객체 입력
- peek(): 스택의 맨 위 객체를 가져온다. 제거 x
- pop(): 스택의 맨 위 객체를 가져온다. 제거 o
Stack st = new Stack();
st.push("1");
st.push("2");
st.push("3");
st.push("4");
st.push("5");
//추출
while (!st.isEmpty()) {
String str = st.pop();
System.out.println(str);
}
결과:
5
4
3
2
1
→ 스택은 후입선출구조(LIFO) 이므로 마지막에 입력된 5부터 출력된다.
큐 Queue
줄 서서 기다리는 것
한쪽에서는 입력이, 다른 쪽에서는 출력이 실행된다.
먼저 입력된 자료를 먼저 출력한다. (FIFO)
※ FIFO: First In First Out, 선입 선출구조
사용 : 프린트 출력, 프로세스 실행
주요 메소드
- offer(): 객체 입력
- peek(): 큐의 객체를 가져온다. 제거X
- poll(): 큐의 객체를 가져온다. 제거O
결과:Queue<String> qu = new LinkedList<String>(); qu.offer("1"); qu.offer("2"); qu.offer("3"); qu.offer("4"); qu.offer("5"); while (!qu.isEmpty()) { String str = qu.poll(); System.out.println(str);
1
2
3
4
5
→ 큐는 선입선출구조(FIFO)이므로, 가장 먼저 입력된 1부터 출력된다.
'BackEnd > Java' 카테고리의 다른 글
[Java] 예외 Exception (0) | 2021.07.19 |
---|---|
[Java] 2진트리 Binary Tree (0) | 2021.07.19 |
[Java] 맵 Map (0) | 2021.07.19 |
[Java] Hash set (0) | 2021.07.19 |
[Java] VirtualBox 설치 (0) | 2021.07.19 |
댓글