import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Test;
public class MapDemo {
@Test
public void demo1() {
Map map = new HashMap();
// 添加
map.put("1001", "张三");
map.put("1000", "Rose");
map.put("1002", new Person("Jack", 22));
map.put("1003", "李四");
map.put("1004", 100);
// 删除
map.remove("1000");
// 修改
map.put("1004", "abc"); // 若key存在则是修改,否则是添加
Object obj = map.get("1002");
System.out.println(obj);
System.out.println("-----------------------------------------");
// 查询(查全)
// 视图1: entrySet
Set set1 = map.entrySet();
Iterator it = set1.iterator();
while (it.hasNext()) {
Entry en = (Entry) it.next();
Object key = en.getKey();
Object value = en.getValue();
System.out.println(key + ": " + value);
}
System.out.println("----------------");
// 视图2: keySet
Set set2 = map.keySet();
Iterator it2 = set2.iterator();
while (it2.hasNext()) {
Object key = it2.next();
Object value = map.get(key);
System.out.println(key + ": " + value);
}
System.out.println("----------------");
// 视图3: values
Collection col = map.values();
Iterator it3 = col.iterator();
while (it3.hasNext()) {
Object value = it3.next();
System.out.println(value);
}
System.out.println("----------------");
// 用增强for循环代替迭代器---注意,增强for循环只能读,不能写
for (Object objs : map.entrySet()) {
Entry en = (Entry) objs;
System.out.println(en.getKey() + "," + en.getValue());
}
}
}