package com.yang.ex2;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import javax.print.attribute.standard.Media;
//map集合的两种取出的方式
//1. Set<key> keySet: 将map中所有的键存入到了Set集合。因为Set集合具备迭代器,所有可以通过迭代方式可以取出所有的键
//再通过get方法获取每一个键对于得值
//Map集合的取出原理:将map集合转成set集合,在通过迭代器取出
//2. Set<Map.Entry<k,v>> entrySet: 将map集合中的映射关系存入到set集合中
// 而这种数据关系就是map.Entry
public class Demo2 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Map<String, String> map = new HashMap<String, String>();
map.put("01", "zhangsan1");
map.put("02", "zhangsan2");
map.put("03", "zhangsan3");
map.put("04", "zhangsan4");
// 將Map集合中的 映射关系取出,存入到Set集合中
Set<Map.Entry<String, String>> entrySet = map.entrySet();
Iterator<Map.Entry<String, String>> iterator = entrySet.iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
String key = entry.getKey();
String valueString = entry.getValue();
System.out.println(key + valueString);
}
//那么关系对象Map.Entry获取到后,就可以通过Map.Entry中的getKey和
//getValue方法获取关系中的键和值
// 先获取map集合中的所有键的set集合。keySet();
// Set<String> keySet = map.keySet();
// 有了Set集合,就可以获取其迭代器。
// Iterable<String> iterable = keySet.iterator();
// while (iterable.hashNext()) {
// String key = iterable.next();
// 有了键,就可以通过map集合 获取其对应的值
// String value = map.get(key);
// System.out.println(key);
// }
}
//其实Map.Entry 其实Entry也是一个接口 它是Map接口中的一个内部接口
//静态 并且是公共的
}
package com.yang.ex2;
import java.util.HashMap;
import java.util.Iterator;
/*map扩展知识
* map集合被使用是因为具备映射关系
* “yureban” "01" "zhangsan"
* "yureban" "02" "lisi"
* "jiuyeban" "01" "wangwu"
* "jiuyeban" "02" "zhaosi"
*
* 一個学校有多个教室,每个教室有多个名称
*
*
* */
public class Demo3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String, String> yureHashMap=new HashMap<String, String>();
yureHashMap.put("01", "zhangsan");
yureHashMap.put("02", "lisi");
HashMap<String, String> jiuyeHashMap=new HashMap<String, String>();
yureHashMap.put("01", "wangwu");
yureHashMap.put("02", "zhaosi");
HashMap<String,HashMap<String,String>> czbk =new HashMap<String,HashMap<String,String>>();
czbk.put("yureban", yureHashMap);
czbk.put("jiuyeban", jiuyeHashMap);
yureHashMap.put("01", "zhangsan");
yureHashMap.put("02", "lisi");
//遍历czbk集合,获取所有教室
Iterator<String> iterator=czbk.keySet().iterator();
while (iterator.hasNext()) {
String roomName = iterator.next();
HashMap<String, String> room=czbk.get(roomName);
System.out.println(roomName);
System.err.println(room);
}
//getStudentInfo(yureHashMap);
}
public static void getStudentInfo(HashMap<String,String> roomMap) {
Iterator<String> iterator=roomMap.keySet().iterator();
while (iterator.hasNext()) {
String id = iterator.next();
String name=roomMap.get(id);
System.out.println(id+name);
}
}
}