目录
map集合的特点
//map集合的特点。无序,键值对,键不可以重复,值可以重复
map集合遍历方式
方式一
//map集合的遍历方式 1,获取map集合中的所有key的set集合,再通过key获取值
Set<String> keySet = map.keySet();
for (String key : keySet) {
//System.out.println(key);
//通过键获取对应的值
Object value = map.get(key);
System.out.println(key+"="+value);
}
方式二
//map遍历方式 2.先取出所有保存所有键值对(Entry)的set,在遍历此set即可
Set<Entry<String, Object>> entrySet = map.entrySet();
for (Entry<String, Object> entry : entrySet) {
System.out.println(entry);
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
HashMap与HashTable之间的区别
同步既排队 线程安全的
hashtable 键不可以为null,值也不能null
异步,非安全的
hashmap 键可以为null,值也可以为null
Map集合3层嵌套使用
package com.zking.aa;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class zy4 {
public static void main(String[] args) {
List<Student> ls1 = new LinkedList<Student>();
List<Student> ls2 = new LinkedList<Student>();
List<Student> ls3 = new LinkedList<Student>();
List<Student> ls4 = new LinkedList<Student>();
List<Student> ls5 = new LinkedList<Student>();
List<Student> ls6 = new LinkedList<Student>();
List<Student> ls7 = new LinkedList<Student>();
ls1.add(new Student("张晓东",90));
ls1.add(new Student("张晓西",75));
ls2.add(new Student("张晓北",80));
ls2.add(new Student("张晓南",82));
ls3.add(new Student("张三",90));
ls3.add(new Student("李四",100));
ls4.add(new Student("王五",70));
ls4.add(new Student("小六",100));
ls5.add(new Student("小八",70));
ls5.add(new Student("小九",100));
ls6.add(new Student("可乐",60));
ls6.add(new Student("雪碧",50));
ls7.add(new Student("哇哈哈",90));
ls7.add(new Student("老干妈",80));
Map<String, List<Student>> amap =
new HashMap<String,List<Student>>();
amap.put("T110", ls1);
amap.put("T111", ls2);
Map<String, List<Student>> bmap =
new HashMap<String,List<Student>>();
bmap.put("T206", ls3);
bmap.put("T222", ls4);
bmap.put("T208", ls5);
Map<String, List<Student>> cmap =
new HashMap<String,List<Student>>();
cmap.put("T230", ls6);
cmap.put("T231", ls7);
Map<String, Map<String,List<Student>>> map =
new HashMap<String, Map<String,List<Student>>>();
map.put("卓京小学部", amap);
map.put("卓京初中部", amap);
map.put("卓京大学部", amap);
Set<String> keySet = map.keySet();
for (String key : keySet) {
Map<String, List<Student>> value = map.get(key);
System.out.println(key);
Set<String> keySet2 = value.keySet();
for (String key2 : keySet2) {
System.out.println(key2);
List<Student> ls = value.get(key2);
for (Student stu : ls) {
System.out.println(stu.getName()+" "+stu.getFs());
}
}
}
}
}