java에서 Stack과 Queue를 어떻게 사용할까?
스택 & 큐
--
스택과 큐는
단순하면서 유용한 자료구조로
대부분의 자료구조는 배열 or LinkedList를 이용해서 만들어졌다.
스택(Stack)은
LIFO(Last In First Out) 구조로
마지막에 저장된 데이터를 먼저 꺼내는 방식이고
큐(Queue)는
FIFO(First In First Out) 구조로
먼저 저장된 것을 먼저 꺼내는 방식이다.
--
예제
--
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 |