728x90
Stack : 쌓아 올리는 것
자료를 정해진 방향으로만 쌓을 있다.
가장 마지막에 입력된 자료가 가장 먼저 출력된다. (후입선출구조 LIFO)
※ LIFO (Last In First Out)
- 자료 저장 push
- 자료 읽기 pop
주 사용처 : 브라우저 사용 기록, 실행 취소
주요 메소드
- push( ) : 객체입력
- peek( ) : 스택의 맨 위 객체를 가져온다. 제거 x
- pop( ) : 스택의 멘 위 객체를 가져온다. 제거 o
ex)
Stack<String> st = new Stack<String>();
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
Queue : 줄 서서 기다리는 것
한쪽에서는 입력이, 다른 쪽에서는 출력이 실행된다.
가장 먼저 입력된 자료가 가장 먼저 출력된다. (선입선출구조 FIFO)
※ FIFO (First In First Out)
주 사용처 : 프린트 출력, 프로세스 실행
주요 메소드
- offer( ) : 객체 입력
- peek( ) : 큐의 객체를 가져온다. 제거X
- poll( ) : 큐의 객체를 가져온다. 제거O
ex)
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
'JAVA' 카테고리의 다른 글
이진 트리 (Binary Tree) (0) | 2021.07.26 |
---|---|
예외처리 (Exception) (0) | 2021.07.26 |
맵 (Map) (0) | 2021.07.26 |
HashSet (0) | 2021.07.22 |
LinkedList (0) | 2021.07.22 |