-
Java 예제 - Queue(큐) Class
Java 예제 - Queue(큐) Class
지난번엔 Stack(스택) 클레스에 대해 알아봤습니다. 이번엔 Stack class 와는 반대 개념인 Queue(큐) 클래스에 대해 알아보겠습니당!!
위의 그림에서 보듯이 요소를 데어티 구조의 양쪽 단에서만 저장 / 접근 할수 있는 컬렉션 입니다.
FIFO ( First - In - First - Out ) 구조로 위아래 양쪽 구멍이 뚫려 있어 쉽게 말해 "밑 빠진 독" 이라고 볼수 있습니다(물론 줄줄 새진 않죠 ^^;;)
이렇게 들어오는곳과 나오는곳이 다르기 때문에 Queue(큐)에 먼저 들어간 데이터가 가장 먼저 나오게 됩니다^^
Queue(큐) 클래스 인스턴스를 생성하기 위해선 아래와 같이 "LinkedList()" 생성자를 호출해 주면됩니다
Queue Myque = new LinkedList();
Queue(큐) 클래스의 접근 메서드는 크게 "offer()" 와 "poll()" 메서드가 가장 중요한 역활을 합니다. Stack 클래스와 마찬가지로 "peek()" 메서드도 있다
는 사실도 잊지 말아주세요 !! ^^
메서드 설명 boolean offer() Queue(큐)에 객체를 넣는다 poll() Queue(큐)에서 데이터를 꺼내온다. 만일 Queue(큐)가 비어있다면 null 을 반환. peek() 큐의 맨 아래 있는 객체를 반환한다. 이 때 객체를 큐에서 제거하진 않는다.
자 이제 Queue(큐) 를 이용한 예제를 한번 해보도록 하겠습니당!!
import java.util.*;
public class ExQueue {
public static void main(String[] args)
{
Queue Myque = new LinkedList();
String str1 = "1. 머루";
String str2 = "2. 별머루";
String str3 = "3. 산머루";
String str4 = "4. 달머루";
Myque.offer(str1);
Myque.offer(str2);
Myque.offer(str3);
Myque.offer(str4);
while(Myque.peek() != null)
{
String val = (String)Myque.poll();
System.out.println("값은 " + val);
}
}}
휴 .. 그럼 실제 구동화면을 한번 볼까요??
위 이미지를 보시면 처음 입력된 "머루" ~ "달머루" 까지 입력한 순서대로 출력이 되는걸 확인할수 있습니다.
지금까지 Stack 과 Queue 이 두개의 클래스에 대해 알아봤는데요 ~
솔직한 말로 .. 이 두개의 클래스는 거의 사용되지 않습니다 -ㅅ-;;
그렇다고 모르고 넘어가서도 안되는 뭐 그런 클래스에요 !!!
다음엔 Vector 클래스 구조 에 대해 설명할껀데요. 요놈 때문에 Stack 과 Queue 를 알아둬야 한다는점 !!
Vector 클래스는 난이도가 살짝? 있어용 !!
원본 및 출처 - 클릭하세요 JAVA 2 JDK 5.0 (대림출판사)
'Other > Java' 카테고리의 다른 글
안드로이드 개발 툴 (Java Sdk) 설치~~!!! 모두 다같이 안드로이드에 빠져 보아요 @@ (0) 2010.12.09 Java 예제 - Stack Class (0) 2010.12.08 Java 주석 처리 (1) 2010.11.10