728x90

 

코딩테스트 문제를 풀 때 흔히 접하는 자료구조 중 큐(Queue)와 스택(Stack)을 말하면 바로 무엇인지 떠오를 것이다.

큐는 FIFO(First In First Out)이고, 스택은 FILO(First In Last Out)이다. 덱은 이 두 가지 경우를 모두 사용할 수 있다.

 

다음은 덱을 스택처럼 사용하는 경우의 코드이다.

 

1) Stack

public static void main(String[] args) {
        ArrayDeque<String> stack = new ArrayDeque<>();

        stack.addFirst("TestData1");
        stack.addFirst("TestData2");
        stack.addFirst("TestData3");

        System.out.println(stack.removeFirst());
        System.out.println(stack.removeFirst());
        System.out.println(stack.removeFirst());
}

// result
// TestData3
// TestData2
// TestData1

 

2) Queue

public static void main(String[] args) {
        ArrayDeque<String> queue = new ArrayDeque<>();

        queue.addFirst("TestData1");
        queue.addFirst("TestData2");
        queue.addFirst("TestData3");

        System.out.println(queue.removeLast());
        System.out.println(queue.removeLast());
        System.out.println(queue.removeLast());
}

// result
// TestData1
// TestData2
// TestData3
728x90
TOP