datasubject.java.svn-base
来自「这个是我做j2ee培训时候自己整理和编写的设计模式的学习例子」· SVN-BASE 代码 · 共 60 行
SVN-BASE
60 行
package org.hyq.observer0;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
@SuppressWarnings("unchecked")
public class DataSubject implements Subject {
private List dataList;
private ArrayList observers = new ArrayList();
/**
* default constructor
*/
public DataSubject() {
dataList = new LinkedList();
dataList.add("Benz");
dataList.add("Audi");
dataList.add("Bmw");
}
public void add(String carName) {
dataList.add(carName);
notifyObservers();
}
public Iterator iterator() {
return dataList.iterator();
}
public String remove(int index) {
if (index < dataList.size()) {
String str = (String) dataList.remove(index);
notifyObservers();
return str;
}
return null;
}
public void addObserver(Observer o) {
observers.add(o);
}
public void removeObserver(Observer o) {
observers.remove(o);
}
public void notifyObservers() { // loop through and notify each observer
Iterator i = observers.iterator();
while (i.hasNext()) {
Observer o = (Observer) i.next();
o.update(this);
}
}
public int getDataSize(){
return dataList.size();
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?