概念
- 映射关系
- A集合 B集合 (ArrayList LinkedList Vector HashSet LinkedHashSet TreeSet)
- A集合当中 的每一元素,都 可以在B集合当中找到一个唯一的一个值与之对应
- A集合当中 的元素不能是重复(Set)
- A集合当中的每一个元素称它是一个key(键)
- B集合当中的每一个元素称它是一个Value(值)
基本操作
添加功能
删除功能
长度的功能
遍历Map
方式one
// map为需要遍历的Map Set<String> allKeys = map.keySet(); //取出每一个key 获取对应的value值 Iterator<String> it = allKeys.iterator(); while(it.hasNext()) { //取出key值 String key = it.next(); Object val = map.get(key); System.out.println(key+"="+val); } System.out.println("------------"); //set能使用迭代器,就能使用foreach for (String key : map.keySet()) { System.out.println(key+"="+map.get(key)); }
方式two
//双列集合 Map<String, Integer> map = new HashMap<>(); map.put("张三", 20); //每一个put的key-value 就是一个entry对象 map.put("李四", 21); map.put("王五", 22); //获取所 有的key-value对象 entry对象 //Entry是定义 在map内部当中的一个接口 //获取所有 的entry对象 Set<Map.Entry<String, Integer>> entrySet = map.entrySet(); //遍历每一个entry对象 Iterator<Map.Entry<String, Integer>> it = entrySet.iterator(); while(it.hasNext()) { //取出每一个entry对象 Map.Entry<String, Integer> en = it.next(); //取出entry对象的key String key = en.getKey(); //取出entry对象的值 Integer value = en.getValue(); System.out.println(key +" = " + value); } System.out.println("--------------"); for (Map.Entry<String, Integer> entry : entrySet) { System.out.println(entry.getKey() + "=" + entry.getValue()); }
LinkedHashMap
//使用HashMap它的key是没有顺序 HashMap<String,Integer> hm = new HashMap<>(); hm.put("张三", 20); hm.put("李四", 20); hm.put("王五", 20); System.out.println(hm); //添加的元素是有顺序(你怎么放的,打印时就是什么顺序的) LinkedHashMap<String,Integer> hm2 = new LinkedHashMap<>(); hm2.put("张三", 20); hm2.put("李四", 20); hm2.put("王五", 20); System.out.println(hm2);