Java/Java입문

자바 자료구조 구현 - 큐, ArrayDeque

dayae_dev 2024. 3. 8. 16:44

자바에서는 큐 구현을 위해서 ArrayDeque를 많이 사용함. 

덱은 Double Ended Queue를 줄인 말로써, 양 끝에서 삽입 삭제를 가능토록 한 큐를 구현한 것이다. 

 

package Mar0308;

import java.util.Queue;
import java.util.ArrayDeque;


public class Test {	

	public static void main(String[] args) {
		
		// ArrayDeque으로 큐 구현
		Queue<Integer> queue = new ArrayDeque<>();
		
		// 큐에 데이터 추가 
		queue.add(1);
		queue.add(2);
		
		// 큐의 맨앞 데이터 제거 후 반환
		int first = queue.poll();
		System.out.println(first); // 1
		
	}

}

 

 

덱을 큐처럼 사용하는 코드 

package Mar0308;

import java.util.ArrayDeque;


public class Test {	

	public static void main(String[] args) {
		
		ArrayDeque<Integer> q = new ArrayDeque<>();
		
		q.addLast(1);
		q.addLast(2);
		
		// 큐의 맨 앞 데이터 제거 후 반환
		int first = q.pollFirst();
		System.out.println(first);
		
		
	}

}

 

데이터를 addFirst()로만 넣고, pollLast()로만 꺼내면 덱을 통해 스택을 구현할 수 있음