JAVA

JAVA) Stack(스택) 클래스, Queue(큐) 인터페이스

starmk95 2020. 7. 14. 21:28

Java에서 스택은 Stack 클래스를 통해 사용할 수 있다.

java.utill 에서 제공하는 클래스로 생성 방법과 핵심 메소드들은 아래와 같다.

import java.util.Stack; 

Stack<Integer> stackName = new Stack<>(); // 스택 객체 생성 (정수를 담는 스택으로 생성함)

stackName.push(1) // 정수 1을 스택에 저장
stackName.peek() // 스택의 top(가장 위)에 위치한 원소 반환(제거하진 않는다.) (해당 예시에서는 정수 1)
stackName.pop() // 스택의 top에 위치하는 원소 반환하고 제거 (해당 예시에서는 정수 1)
stack.empty() // 스택이 비어있다면 true, 비어있지 않다면 false 반환

Java에서 Queue는 LinkedList 클래스를 통해 구현된다.

Queue도 Stack과 같이 java.util에서 제공한다.

Queue 객체의 생성 방법과 핵심 메소드들은 아래와 같다.

import java.util.Queue;
import java.util.LinkedList; // Queue는 인터페이스로, LinkedList로 구현되기 때문에 이도 import 필요

Queue<Integer> queueName = new LinkedList<>(); 큐 인터페이스는 LinkedList클래스로 구현된다.

queueName.offer(1) // 큐의 tail에 1 저장 (큐에서 저장은 무조건 큐의 뒤쪽(꼬리)으로 이루어진다.)
queueName.poll() // 큐에 저장된 head 반환하고 제거 (큐에서 poll은 무조건 큐의 앞쪽(머리)에서 이루어진다.)
queueName.peek() // 큐에 저장된 head를 반환한다. (제거하지 않음)
queueName.size() // 큐에 들어있는 원소들의 개수를 반환한다.