📄 datasubject.java.svn-base
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -