프로그래밍/Java 공부

스택-Stack, 큐-Queue

개발계발게발 2021. 6. 16. 17:48
반응형

스택 stack

쌓아 올리다.
자료를 정해진 방향으로만 쌓아 올림
가장 마지막에 입력된 자료가 가장 먼저 읽힌다.

자료저장 push
자료 읽기 pop
후입 선출 구조(LIFO) Last In First Out

사용 : 브라우저 사용기록, 실행 취소



큐 Queue 

줄 서서 기다리는 것
선입 선출 구조 (FIFO) First In First Out
한쪽에서는 입력, 다른쪽에서는  출력 실행
먼저 입력된 자료를 먼저 출력
  
사용 : 프린트 출력, 프로세스 실행

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

public class Stack01 {
	public static void main(String[] args) {
		
		Stack<String> stack = new Stack<String>();
		stack.push("1");
		stack.push("2");
		stack.push("3");
		stack.push("4");
		stack.push("5");
		
		while(!stack.isEmpty()) {
			String str = stack.pop();
			System.out.println(str);
		}
		////////////////
		//push() 객체를 스택에 넣기
		//peek() 스택의 맨 위 객체를 가져온다. 제거 X
		//pop() 스택의 맨 위 객체를 가져온다. 제거 O
		
		//Queue
		//offer 주어진 객체를 넣는다.
		//peek 객체를 가져온다. 큐에서 제거하지 않는다.
		//poll 객체 하나를 가져온다. 객체를 큐에서 제거한다.
		
		Queue<String> que = new LinkedList<String>();
		que.offer("1");
		que.offer("2");
		que.offer("3");
		que.offer("4");
		que.offer("5");
		
		while(!que.isEmpty()) {
			System.out.println(que.poll());
		}		
	}
}

Stack

push() 객체를 스택에 넣기
peek() 스택의 맨 위 객체를 가져온다. 제거 X
pop() 스택의 맨 위 객체를 가져온다. 제거 O

Queue
offer() 주어진 객체를 넣는다.
peek() 객체를 가져온다. 제거 X 
poll() 객체 하나를 가져온다.  제거 O 

 

 

반응형