\

해병 코딩

728x90
반응형

Queue인터페이스 컬랙션(FIFO)

                      (선입 선출)

 (메세지 큐 만들기)



Messag class


1
2
3
4
5
6
7
8
9
10
11
12
13
package Qexam;
 
public class Message {
    //필드 지정
    public String command;// Command어떤 메세지를 보낼거이냐 ?
    public String to; // ~누구 에게  보낸다
    //생성자
    public Message(String command,String to) {
        // 외부에서 받은 command 와 to  필드에 저장
        this.command = command;
        this.to=to;
    }
}
cs


실행 클래스 (매인)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
import java.util.LinkedList;
import java.util.Queue;
 
public class QExample {
 
    public static void main(String[] args) {
        //Queue인터페이스 
        Queue<Message> messageQueue = new LinkedList<Message>();//
        
        /*Queue 인터페이스 타입으로 <Message>를 저장하는 컬랙션 만든다
        Queue 구현 객체로 링크드리스트 컬랙션 생선한다
        링크더리스트 가 Queue인터페이스 를 구현 하기 있기 때문에 큐 인터페이스 타입의 
변수에 대입이 될수있습니다*/
        
        //Queue의 객체를 저장을 할때는 OFFER를 이용
        messageQueue.offer(new Message("매일보내라","로드리게스"));//command,to
        messageQueue.offer(new Message("SMS보내라","장첸"));
        messageQueue.offer(new Message("카카오보내라","로사"));
        
        //꺼내는 과정
        while(!messageQueue.isEmpty()) {
            Message message = messageQueue.poll();//Queue로부터 객체를 가지올때 poll
            switch(message.command) {// 1 번쩨 출력
            case"매일보내라"://  command 값 "매일보내라" 이면 "씨애게 메일을 보냄니다
                System.out.println(message.to+"씨에게 메일을 보냄니다");
                break;
            case"SMS보내라"://2 출력  
                System.out.println(message.to+"씨에게 sms을 보냄니다");
                break;
            case"카카오보내라"://3 출력
                System.out.println(message.to+"씨에게 카카오을 보냄니다");
                break;
            }
        }
    }
 
}//  poll은 제일 먼저 저장 되어 있는거 부터 가져옵니다

cs


<><출력값>
1
2
3
로드리게스씨에게 메일을 보냄니다
장첸씨에게 sms을 보냄니다
로사씨에게 카카오을 보냄니다
cs
 


결론: 후입선출 개념의 이해와 링크더리스트 타입의 변수가 큐인터페이스의 변수에 대입 할수있다는
것을  알수있었다.   


728x90
반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band