JavaSE-16.1【Map集合的特点、基本功能、获取功能、两种遍历法方法】
作者:互联网
1 package day7.lesson1; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 /* 7 1 Map 8 9 1.1 Map集合的特点 10 11 interface Map<K,V> K:键的类型;V:值的类型 12 13 键值对映射关系 14 一个键对应一个值 15 键不能重复,值可以重复 16 元素存取无序 17 18 创建Map集合的对象:通过多态的方式,具体实现类HashMap 19 20 */ 21 public class MapDemo1 { 22 public static void main(String[] args) { 23 Map<String, String> map = new HashMap<>(); 24 25 map.put("itheima001", "张三"); 26 map.put("itheima002", "王五"); 27 map.put("itheima003", "李四"); 28 29 System.out.println(map); //{itheima003=李四, itheima001=张三, itheima002=王五} 30 31 map.put("itheima003", "赵六"); 32 System.out.println(map); //{itheima003=赵六, itheima001=张三, itheima002=王五} 33 34 //键第一次出现时,put()起到添加功能 35 // 后面再出现已有的相同键,put()则起到修改(替代、覆盖)功能 36 } 37 }
1 package day7.lesson1; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 /* 7 1.2 Map集合的基本功能 8 9 V put(K key,V value) 添加元素 10 V remove(Object key) 根据键删除键值对元素 11 void clear() 移除所有的键值对元素 12 boolean containsKey(Object key) 判断集合是否包含指定的键 13 boolean containsValue(Object value) 判断集合是否包含指定的值 14 boolean isEmpty() 判断集合是否为空 15 int size() 集合的长度,也就是集合中键值对的个数 16 17 */ 18 public class MapDemo2 { 19 public static void main(String[] args) { 20 Map<String, String> map = new HashMap<>(); 21 22 map.put("aaa", "AAA"); 23 map.put("bbb", "BBB"); 24 map.put("ccc", "CCC"); 25 26 // System.out.println(map.remove("ccc")); //CCC 27 // System.out.println(map.remove("fff")); //null 28 29 // map.clear(); //{} 30 31 System.out.println(map.containsKey("aaa")); //true 32 System.out.println(map.containsValue("GGG")); //false 33 34 System.out.println(map.isEmpty()); 35 36 System.out.println(map.size()); //3 37 38 System.out.println(map); 39 } 40 }
1 package day7.lesson1; 2 3 import java.util.Collection; 4 import java.util.HashMap; 5 import java.util.Map; 6 import java.util.Set; 7 8 /* 9 1.3 Map集合的获取功能 10 11 V get(Object key) 根据键获取值 12 Set keySet() 获取所有键的集合 13 Collection values() 获取所有值的集合 14 Set<Map.Entry<K,V>> entrySet() 获取所有键值对对象的集合 (详见MapDemo4.java中Map集合遍历方式2) 15 16 */ 17 public class MapDemo3 { 18 public static void main(String[] args) { 19 Map<String, String> map = new HashMap<>(); 20 21 map.put("aaa", "AAA"); 22 map.put("bbb", "BBB"); 23 map.put("ccc", "CCC"); 24 25 System.out.println(map.get("bbb")); //BBB 26 System.out.println(map.get("ggg")); //null 27 28 Set<String> keySet = map.keySet(); 29 for(String s: keySet){ 30 System.out.print(s + " "); //aaa ccc bbb 31 } 32 System.out.println(); 33 34 Collection<String> values = map.values(); 35 for(String s: values){ 36 System.out.print(s + " "); //AAA CCC BBB 37 } 38 System.out.println(); 39 } 40 }
1 package day7.lesson1; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 import java.util.Set; 6 7 /* 8 1.4 Map集合的遍历 9 10 方式1 11 遍历思路 12 我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合 13 把所有的丈夫给集中起来 14 遍历丈夫的集合,获取到每一个丈夫 15 根据丈夫去找对应的妻子 16 步骤分析 17 获取所有键的集合。用keySet()方法实现 18 遍历键的集合,获取到每一个键。用增强for实现 19 根据键去找值。用get(Object key)方法实现 20 21 方式2 22 遍历思路 23 我们刚才存储的元素都是成对出现的,所以我们把Map看成是一个夫妻对的集合 24 获取所有结婚证的集合 25 遍历结婚证的集合,得到每一个结婚证 26 根据结婚证获取丈夫和妻子 27 步骤分析 28 获取所有键值对对象的集合 29 Set<Map.Entry<K,V>> entrySet():获取所有键值对对象的集合 30 遍历键值对对象的集合,得到每一个键值对对象 31 用增强for实现,得到每一个Map.Entry 32 根据键值对对象获取键和值 33 用getKey()得到键,用getValue()得到值 34 */ 35 public class MapDemo4 { 36 public static void main(String[] args) { 37 Map<String, String> map = new HashMap<>(); 38 39 map.put("aaa", "AAA"); 40 map.put("bbb", "BBB"); 41 map.put("ccc", "CCC"); 42 43 //遍历方式1 44 Set<String> keySet = map.keySet(); 45 for(String key: keySet){ 46 String value = map.get(key); 47 System.out.println("key:" + key + ", value:" + value); 48 } 49 /* 50 key:aaa, value:AAA 51 key:ccc, value:CCC 52 key:bbb, value:BBB 53 */ 54 55 //遍历方式2 56 Set<Map.Entry<String, String>> entrySet = map.entrySet(); //获取所有键值对对象的集合 57 for (Map.Entry<String, String> me: entrySet){ 58 String key = me.getKey(); 59 String value = me.getValue(); 60 System.out.println("key:" + key + ", value:" + value); 61 } 62 /* 63 key:aaa, value:AAA 64 key:ccc, value:CCC 65 key:bbb, value:BBB 66 */ 67 } 68 }
标签:Map,16.1,map,System,key,集合,JavaSE,out 来源: https://www.cnblogs.com/yppah/p/14841783.html