📄 registerhashmap.java
字号:
package net.betterjava.design.collection.shadowcopy;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;
public class RegisterHashMap {
private HashMap visitors;
public RegisterHashMap() {
visitors = new HashMap();
}
public RegisterHashMap(HashMap para) {
visitors = para;
}
public void add(Visitor husband, Visitor wife) {
visitors.put(husband, wife);
}
public Object clone() {
return new RegisterHashMap((HashMap) visitors.clone());
}
public String toString() {
StringBuffer temp = new StringBuffer();
Set set = visitors.keySet();
Iterator it = set.iterator();
while (it.hasNext()) {
Visitor v = (Visitor) it.next();
temp.append(v.getName()).append(":").append(v.getAddress()).append("\n");
v = (Visitor) visitors.get(v);
temp.append(v.getName()).append(":").append(v.getAddress()).append("\n");
}
return temp.toString();
}
public static void main(String[] args) {
RegisterHashMap r = new RegisterHashMap();
Visitor husband = new Visitor("Charles", "It's secret");
Visitor wife = new Visitor("Diana", "It's secret");
r.add(husband, wife);
System.out.println(r);
RegisterHashMap copy = (RegisterHashMap) r.clone();
husband.setAddress("I'm not sure");
System.out.println(r);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -