java에서 Stack과 Queue를 어떻게 사용할까?
스택 & 큐
--
스택과 큐는
단순하면서 유용한 자료구조로
대부분의 자료구조는 배열 or LinkedList를 이용해서 만들어졌다.
스택(Stack)은
LIFO(Last In First Out) 구조로
마지막에 저장된 데이터를 먼저 꺼내는 방식이고
큐(Queue)는
FIFO(First In First Out) 구조로
먼저 저장된 것을 먼저 꺼내는 방식이다.
스택과 큐 (+ 깊이 우선 탐색, 너비 우선 탐색)
스택은 무엇이고큐는 무엇인가? 스택 (Stack) --스택은후입선출 (LIFO, Last In First Out) 자료 구조로마지막으로 들어간 데이터가 맨 처음으로 나가는 구조다. 이때 데이터를 담는 연산(데이
nijy.tistory.com
--
예제
--
Queue q = new LinkedList();
Stack s = new Stack();
s.push("1");
s.push("2");
s.push("3");
q.offer("11");
q.offer("22");
q.offer("32");
while(!s.empty()) {
System.out.println(s.pop());
}
while(!q.isempty()) {
System.out.println(q.poll());
}
결과
3
2
1
1
2
3
Queue 객체를 생성할 때 "new Queue()"가 아닌 "new LinkedList()"를 사용했나?
Queue는 인터페이스라서 해당 인터페이스를 구현한 LinkedList()로 객체를 생성해야 한다.
스택과 큐는 각자 값을 넣는 메서드가 다르다.
스택 : 객체.push();
큐 : 객체.offer();
값을 꺼내는 것 또한 다르다.
스택 : 객체.pop();
큐 : 객체.poll();
--
'Language > Java' 카테고리의 다른 글
Arrays 클래스에서 제공하는 메서드 (0) | 2024.12.25 |
---|---|
Iterator & ListIterator (0) | 2024.12.21 |
Vector, ArrayList, LinkedList (0) | 2024.12.18 |
컬렉션 프레임워크 ( List, Set, Map ) (0) | 2024.12.11 |
[java.lang] Math 클래스 (수학적 계산 관련 클래스) (0) | 2024.11.05 |