티스토리 뷰

Language/Java

[Java] Stack & Queue

DUCKBAE's 2022. 6. 27. 23:29

Stack

마지막에 저장한 데이터를 가장 먼저 꺼내게 되는 LIFO(Last In First Out)구조로 되어 있다.

LIFO (Last In First Out)

구현 방식

class Main {
	public static void main(String[] args) {
    	Stack stack = new Stack();
        stack.push("0");
        stack.push("1");
        stack.push("2");
        
        while(!stack.empty()) {
        	System.out.println(stack.pop()); //스택에서 요소 하나를 꺼내서 출력
        }
        
        //결과
        2
        1
        0
    }
}

Queue

처음에 저장한 데이터를 가장 먼저 꺼내게 되는 FIFO(First In First Out)구조로 되어 있다.

자바에서 큐는 인터페이스로만 정의해 놓았을 뿐 별도의 클래스를 제공하고 있지 않다.

대신, Queue 인터페이스를 구현한 클래스들이 있어 선택하여 사용하면 된다.

FIFO (First In First Out)

구현 방식

class Main {
	public static void main(String[] args) {
    	Queue<Integer> queue = new LinkedList<>();
        queue.offer(0);
		queue.offer(1);
        queue.offer(2);
        
        while(!queue.empty()) {
        	System.out.println(queue.poll()); //큐에서 요소 하나를 꺼내서 출력
        }
        
        //결과
        0
        1
        2
    }
}

 

참고

Java의 정석

'Language > Java' 카테고리의 다른 글

[Java] Exception  (0) 2022.11.10
[Java] Thread  (0) 2022.06.28
[Java] StringBuffer & StringBuilder  (0) 2022.06.22
[Java] String  (0) 2022.06.21
[Java] 변수  (0) 2022.06.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함