📄 registerhashset.java
字号:
package net.betterjava.design.collection.shadowcopy;
import java.util.HashSet;
import java.util.Iterator;
public class RegisterHashSet implements Cloneable {
private HashSet visitors;
public RegisterHashSet() {
visitors = new HashSet();
}
public RegisterHashSet(HashSet para) {
visitors = para;
}
public void add(Visitor v) {
visitors.add(v);
}
public Object clone() {
return new RegisterHashSet((HashSet) visitors.clone());
}
public void amendFirstAddress(String newAddress) {
Iterator it = visitors.iterator();
if (it.hasNext()) {
Visitor v = (Visitor) it.next();
v.setAddress(newAddress);
}
}
public String toString() {
StringBuffer temp = new StringBuffer();
Iterator it = visitors.iterator();
while (it.hasNext()) {
Visitor v = (Visitor) it.next();
temp.append(v.getName()).append(":").append(v.getAddress()).append("\n");
}
return temp.toString();
}
public static void main(String[] args) {
RegisterHashSet r = new RegisterHashSet();
r.add(new Visitor("Alex", "Fa Hua Zhen Road"));
r.add(new Visitor("Field", "Xiao Mu Qiao Road"));
System.out.println(r);
RegisterHashSet copy = (RegisterHashSet) r.clone();
copy.amendFirstAddress("Fan Yu Road");
System.out.println(r);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -