YJ의 새벽

JAVA (Stack,Queue) 본문

SelfStudy/JAVA

JAVA (Stack,Queue)

YJDawn 2023. 2. 2. 01:17

 

  • Stack
    (항아리구조)

--ex)수식계산, 웹브라우저 뒤로/앞으로  등등

--LIFO (Last in First Out) 

--마지막에 저장된 것을 제일 먼저 꺼낸다.

-- 1 2 3 4 5 를 넣으면 (push)

   5 4 3 2 1 로 나온다. (pop)

--배열이 적합.

 

  • Queue  (인터페이스, 객체생성x)   
    (파이프구조)

--ex) 최근사용문서 , 인쇄작업대기목록 등...

--FIFO (First In First Out)

--제일먼저 저장한것을 제일먼저 꺼낸다.  

-- 1 2 3 4 5  넣으면 (offer)

    1 2 3 4 5 로 나온다 (poll)

   *파이브구조

--링크드리스트 적합.

 

 

***** Stack & Queue 예제

import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
public class Example {
	public static void main(String[] args) {
		Stack st = new Stack();
		Queue q = new LinkedList();
		st.push("0");
		st.push("1");
		st.push("2");
		
		q.offer("0");
		q.offer("1");
		q.offer("2");
		
		while(!st.isEmpty()) {       --Stack 값 꺼내기
			System.out.println(st.pop());    -- 2  1  0
		}
		while(!q.isEmpty()) {        --Queue 값 꺼내기
			System.out.println(q.poll());    -- 0  1  2
		}
	}
}

 

 

'SelfStudy > JAVA' 카테고리의 다른 글

JAVA (Comparable , Comparator)  (0) 2023.02.02
JAVA (Iterator, Arrays)  (0) 2023.02.02
JAVA (ArrayList,LinkedList)  (0) 2023.02.01
JAVA (Collections Framework)  (0) 2023.02.01
JAVA (CS)  (0) 2023.01.30
Comments