我们做一个小程序,简单实现QQ发送消息的功能。
先定义一个消息类,里面有消息的属性(来自哪里,发送到哪,消息内容)。然后定义一个测试类测试我们的运行结果,输出发送消息的内容。测试类里面需要一个Map来存放每一个QQ号码和与之对应的消息队列List<Message>。
消息类:
package com.dr.QQ1;
public class Message {
private String from;
private String to;
private String content;
public String getFrom() {
return from;
}
public void setFrom(String from) {
this.from = from;
}
public String getTo() {
return to;
}
public void setTo(String to) {
this.to = to;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
测试类:
package com.dr.QQ1;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Test {
public static void main(String[] args) {
Map<String,List<Message>> QQMap=new HashMap<String,List<Message>>();
List<Message> messageList=new ArrayList<Message>();
//第一次QQ1给QQ2发送消息
Message m=new Message();
m.setFrom("QQ1");
m.setTo("QQ2");
m.setContent("Hi");
messageList.add(m);
QQMap.put(m.getTo(), messageList);
//第二次QQ1给QQ2发送消息
m=new Message();
m.setFrom("QQ1");
m.setTo("QQ2");
m.setContent("How are you");
messageList.add(m);
QQMap.put(m.getTo(), messageList);
//QQ2来取他的消息队列
List<Message> qq2List=QQMap.get("QQ2");
for(Message msg:qq2List){
System.out.println(msg.getContent());
}
}
}
运行结果: