본문 바로가기
study/Java

[Java] 34. StackQueue

by 금이패런츠 2022. 3. 31.
728x90
반응형
package chap13;

import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;

/*
 * Stack 클래스    : LIFO(Last in First out)    <후입선출>
 * 				   Vector클래스의 하위 클래스
 *    push(Object) : 객체를 Stack 객체에 저장. 추가
 *    Object pop() : Stack에 저장된 객체 꺼냄. Stack에서 데이터 제거. 반환.
 *    Object peek() : Stack에 저장된 객체 조회. 반환.
 *    
 * Queue 인터페이스 : FOFO(First in First out)    <선입선출>
 *                 LinkedList 구현 클래스
 * 	  offer(Object) : 객체를 Queue 객체에 저장. 추가
 *    Object poll() : Queue에 저장된 객체 꺼냄. Queue에서 데이터 제거. 반환.
 *    Object peek() : Stack에 저장된 객체 조회. 반환.
 */
public class StackQueueEx1 {
	public static void main(String[] args) {
		String cars[] = {"소나타","그랜저","SM5","K9"};
		
		Stack<String> stack = new Stack<String>();
		for(String s : cars) stack.push(s);
		System.out.println("스택에 저장된 객체의 갯수:" + stack.size()); //4
		System.out.println(stack.peek()); //K9
		System.out.println("스택에 저장된 객체의 갯수:" + stack.size()); //4
		System.out.println(stack.pop()); //K9
		System.out.println("스택에 저장된 객체의 갯수:" + stack.size()); //3
		
		Queue<String> queue = new LinkedList<String>();
		for(String s : cars) queue.offer(s);
		System.out.println("큐에 저장된 객체의 갯수:" + queue.size()); //4
		System.out.println(queue.peek()); //소나타
		System.out.println("큐에 저장된 객체의 갯수:" + queue.size()); //4
		System.out.println(queue.poll()); //소나타
		System.out.println("큐에 저장된 객체의 갯수:" + queue.size()); //3
		System.out.println(queue.poll()); //그랜져
		System.out.println("큐에 저장된 객체의 갯수:" + queue.size()); //2
	}
}
728x90
반응형