JAVA

자료구조 Queue 예제

연93 2022. 9. 29. 09:58

이미지 주소 https://velog.io/@awesomeo184/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%ED%81%90Queue

package sec06.exam02_queue;

public class Message {
	public String command;
	public String to;
	
	public Message(String command, String to) {		
		this.command = command;
		this.to = to;
	}
}
package sec06.exam02_queue;

import java.util.LinkedList;
import java.util.Queue;

public class QueueExample {

	//큐 자료구조: FIFO(First Input First Output)
	public static void main(String[] args) {
		// <실제 사용하고싶은 참조타입 입력 Message 클래스 데이터 사용>
		// 전체적인 기억장소의 데이터를 관리하는 방식은 Queue인터페이스를 사용
		// 그안에 실질적인 데이터는 Message클래스로 사용함을 의미한다.
		Queue<Message> messageQueue = new LinkedList<Message>();
		
		// 객체생성 
		messageQueue.offer(new Message("sendMail", "송지은"));
		messageQueue.offer(new Message("sendSMS", "김동연"));
		messageQueue.offer(new Message("sendKakaotalk", "송삼색"));
		// !표로 데이터가 존재하는게 ture
		while(!messageQueue.isEmpty()) {
			Message message = messageQueue.poll();
			switch(message.command) {
				case "sendMail": 
					System.out.println(message.to + "님에게 메일을 보냅니다");
					break;
				case "sendSMS" :
					System.out.println(message.to + "님에게 SMS를 보냅니다");
					break;
				case "sendKakaotalk":
					System.out.println(message.to + "님에게 카카오톡을 보냅니다");
					break;
			}
		}

	}

}
더보기

Console

송지은님에게 메일을 보냅니다
김동연님에게 SMS를 보냅니다
송삼색님에게 카카오톡을 보냅니다