Back/JAVA
컬렉션 프레임워크(Collection Framework) - Stack, Queue
시월해
2021. 3. 17. 17:19
* Stack 클래스(자료 구조)
- 후입선출(LIFO : Last In First Out) 구조임.
* Queue 인터페이스(자료구조)
- 인터페이스이므로 자식클래스로 객체 생성하여 사용.
- 대표적인 자식클래스는 LinkedList임.
- 특징 : 선입선출(FIFO : First In First Out) 구조임.
예제1) Stack 클래스
import java.util.Stack;
public class Ex06 {
public static void main(String[] args) {
Stack<String> stack = new Stack<String>();
// 1.push() : stack에 저장시키는 메서드.
stack.push("강감찬");
stack.push("세종대왕");
stack.push("김 구");
stack.push("윤봉길");
stack.push("광개토태왕");
// 2. peek() : stack 맨위에 저장된 데이터를 가져오는 메서드.
// 데이터를 stack에서 제거하는 것은 아님.
System.out.println("stack peek() >>> " + stack.peek());
System.out.println();
// 3. pop() : stack 맨위에 저장된 데이터를 가져오는 메서드.
// 데이터를 stack에서 제거함.
while(!stack.isEmpty()) {
System.out.println("이 름 >>> "+ stack.pop());
}
}
}
예제2) Queue 클래스
import java.util.LinkedList;
import java.util.Queue;
public class Ex07 {
public static void main(String[] args) {
Queue<String> queue = new LinkedList<String>();
// 1. offer() : 큐에 저장하는 메서드.
queue.offer("100번 손님");
queue.offer("101번 손님");
queue.offer("102번 손님");
queue.offer("103번 손님");
queue.offer("104번 손님");
queue.offer("105번 손님");
// 2. peek() : 큐에 저장된 데이터를 가져오는 메서드.(데이터 제거X)
System.out.println("처음 호출한 번호 >>> " + queue.peek());
System.out.println();
// 3. poll() : 큐에 저장된 데이터를 가져오는 메서드.(데이터 제거O)
while(!queue.isEmpty()) {
System.out.println("호출한 번호 >>> " + queue.poll());
}
}
}