Map集合是基于java核心类——中的;
Map集合用于储存元素对,Map储存的是一对键值(key和value),是通过key映射到它的value
values(): 是获取集合中的所有的值----没有键,没有对应关系。
KeySet(): 将Map中所有的键存入到set集合中。因为set具备迭代器。所有可以迭代方式取出所有的键,再根据get方法。获取每一个键对应的值。迭代后只能通过get()取key 。
entrySet():是返回此映射中包含的映射关系的 Set 视图。 表示映射关系,迭代后可以(),()取key和value。返回的是Entry接口 。
for each遍历
1 ;2 ;3
4 /**
5 * @Title: mapTest6 * @Description:7 *@author阿伟8 * @createTime 2018年11月26日下午7:31:039 */
10 public classmapTest {11 public static voidmain(String[] args) {12 Mapmap = new HashMap();13 (“student1”, “阿伟”);14 (“student2”, “小李”);15 (“student3”, “小张”);16 (“student4”, “小王”);17 //
18 // //1.使用entrySet()遍历
19 (“使用entrySet()遍历”);20 Iterator it =().iterator();21 while(()) {22 entry =() ();23 Object key =();24 Object value =();25 (“key=”+key+" value"+value);26
27 }28 //2.通过遍历key和value,普遍使用,二次取值
29 (“通过遍历key和value,普遍使用,二次取值”);30 for(String key:()){31 (“Key=”+key+" value="+(key));32 }33 //3通过()遍历所有的value,但不能遍历key
34 (“通过()遍历所有的value,但不能遍历key”);35 for(String v:()){36 (“value=”+v);37 }38 //4通过遍历key和value(推荐使用,特别是容量大时)
39 (“通过遍历key和value(推荐使用,特别是容量大时)”);40 for(:()){41 (“key=”+()+" value="+());42 }43
44 }45
46 }
--------------------测试结果-----------------------------------
集合中根据是否含有要修改的 Key 键来决定是否要修改相应的 value 值
1 public static voidgetStringContent(){2 Map map = new HashMap();3 (“张三”, “111111”);4 (“李四”, “222222”);5 String time_info_deadline = “”;6 String cc = “张三”;7 if((cc)){8 String value =(cc).toString();9 value = value +“;” +“重复”;10 (cc, value);11 }else{12 (cc, “121212”);13 }14
15 for( : ()){16 String keyName =();17 String value =().toString();18
19 time_info_deadline = time_info_deadline + “;” + keyName + “:” +value;20 }21 (time_info_deadline.substring(1));22 }
结果查看:
1 public static voidgetStringContent(){2 Map map = new HashMap();3 (“张三”, “111111”);4 (“李四”, “222222”);5 String time_info_deadline = “”;6 String cc = “王五”;7 if((cc)){8 String value =(cc).toString();9 value = value +“;” +“重复”;10 (cc, value);11 }else{12 (cc, “121212”);13 }14
15 for( : ()){16 String keyName =();17 String value =().toString();18
19 time_info_deadline = time_info_deadline + “;” + keyName + “:” +value;20 }21 (time_info_deadline.substring(1));22 }
结果查看:
由上述代码可以看到:
当map集合中再次放入已存在的key时,二次存入的Key,Value 会将原来的key,value 全部覆盖掉,只留存新的key,value