JAVA对一个容器的监视

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:47:52
有一个MAP,随时会有值被put进来,put进来的话,希望能马上知道,并且要进行相关处理,用什么方法可以监视到呢?

如一楼 ,给个简单的实例:

import java.util.HashMap;
import java.util.Map;

public class MapTest {
public static void main(String[] args) {
Map map = new HashMap(){
//覆写put()方法
public Object put(Object key,Object value){
yourProcess(key,value);
return super.put(key, value);
}
//处理PUT事件
private void yourProcess(Object key, Object value) {
System.out.println(key+"="+value);
}
};
map.put("人员A","小工");
map.put("人员B","油漆");
map.put("人员C","电焊");

System.out.println(map.size());
}
}

要想合理的做到这一点就牵扯到设计模式,设计模式中的“观察者模式”就是专门为了解决类似问题的,你可以针对性的看一下这方面的例子,10分钟看完以后相信你有自己的收获了
给你百科的链接http://baike.baidu.com/view/1854779.htm
另外,可以参考“气象站例子”。跟你这个问题基本吻合

继承MAP,重载put方法,在调用父类方法