본문 바로가기
컴퓨터/Java

[java] 자바 스택, 큐 구현하기 - java stack, queue 구현하기

by HanJoohyun 2017. 12. 31.
반응형




안녕하세요 한주현입니다.


오늘은 java에서 스택과 큐를 구현하는 방법에 대해 알아보겠습니다.



 스택과 큐 란?


Stack과 Queue 란?


Stack과 Queue는 자료구조로써,


Stack은 마지막에 들어간 데이터가 가장 먼저 꺼내지는 LIFO (Last In First Out) 이고

Queue는 먼저 들어간 데이터가 가장 먼저 꺼내지는 FIFO (First In First Out) 인 특징을 가지고 있습니다.


예를 들어보자면,


부페 식당에서 먼저 줄 선 사람이 먼저 음식을 받고 나가는 구조가 Queue 이고

빵을 쌓아 올린 통에서 먼저 넣은 빵보다 나중에 넣은 빵이 위에 쌓여 먼저 나가게 되는 구조가 Stack 입니다.. ㅎㅎㅎ


매번 스택 큐 설명할 때, 동전통 얘기만큼 좋은 예시는 없지만,


매번 인용하면 지겨울 것 같아 식당 얘기를 그림을 곁들여 설명해보았습니다 ㅎㅎ;;;







java Stack 구현


java.util.Stack 클래스를 이용하여 스택을 구현 해 봅시다.


Stack은 마지막에 들어간 데이터가 가장 먼저 꺼내지는 LIFO (Last In First Out) 입니다.


아래 코드에서는 push 메서드를 이용해 스택 객체에 A, B, C 를 순서대로 넣고, 


pop 메서드를 이용해 하나씩 꺼내 볼 것입니다.



<코드>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.*;
 
public class StackTest {
 
    public static void main(String[] args) {
        Stack stk = new Stack();
        
        stk.push("A");
        stk.push("B");
        stk.push("C");
                
        System.out.println("## Stack");
        while(!stk.empty()) {
            System.out.println(stk.pop());
        }
    }
 
}
cs


<결과>


1
2
3
4
## Stack
C
B
A
cs




java Queue 구현


java.util.Queue 클래스를 이용하여 큐를 구현 해 봅시다.


Queue는 먼저 들어간 데이터가 가장 먼저 꺼내지는 FIFO (First In First Out) 입니다.


아래 코드에서는 add 메서드를 이용해 스택 객체에 A, B, C 를 순서대로 넣고, 


poll 메서드를 이용해 하나씩 꺼내 볼 것입니다.



<코드>


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
 
public class QueueTest {
 
    public static void main(String[] args) {
        Queue que = new LinkedList();
        
        que.add("A");
        que.add("B");
        que.add("C");
        
        System.out.println("## Queue");
        while(!que.isEmpty()) {
            System.out.println(que.poll());
        }
    }
 
}
 
cs


<결과>


1
2
3
4
## Queue
A
B
C
cs




오늘은 java에서 Stack과 Queue를 구현하는 방법에 대하여 알아봤습니다.


어렵지 않으셨죠? ㅎㅎ


모두들 열공하시고 ㅎㅎ


그럼 다음시간에 만나요~



반응형

댓글