package com.Lucky.Map; import java.util.HashMap; import java.util.Map; /* map接口: 无法new ,只能new他的实现类 */ public class MapDemo { public static void main(String[] args) { // put(k key,v,value) :添加元素 // remove(Object key) :移除元素 //void clear() :清除集合元素 //boolean containsKey(Object key) :判断该键是否包含在该集合里面 //boolean containsValue(Object Value) :判断该值是否包含在该集合里面 //boolean isEmpty() :判断集合是否为空 //int size() :判断集合大小 //创建Map集合 Map<String,String> map=new HashMap<>(); System.out.println("-------- put(K Key,V Value): 添加/覆盖----------------"); /* put: 添加/覆盖 1.如果添加数据时,键不存在,就直接将数据添加到键值对对象里面,返回null 2.如果添加数据时,键已经存在,就将原有的键值对对象覆盖,返回被覆盖的值。 */ System.out.println(map.put("文艺人士","人生无常")); map.put("唯易人生","YYDS"); map.put("不凭明天","只凭朝夕"); map.put("测试代码","BUG"); System.out.println(map.put("文艺人士","XXS")); //对原有的键值对对象进行覆盖操作 System.out.println(map); System.out.println("-------- remove(K Key):移除元素----------------"); System.out.println(map.remove("文艺人士")); //返回移除的键值对的值 System.out.println(map.remove("不凭明天","BUGCS")); //键值对没有找到就返回false System.out.println("-------- containsKey(K Key):判断键值对是否包含在集合中----------------"); System.out.println(map.containsKey("不凭明天")); System.out.println(map.containsValue("xxs")); System.out.println("-------- isEmpty():判断集合是否为空----------------"); System.out.println(map.isEmpty()); System.out.println(map.size()); map.clear(); System.out.println(map); } }
遍历Map集合的方法:
①keySet
package com.Lucky.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /* 遍历获取Map集合的键值对 1.通过键找值的方法:关键点:keySet(); */ public class MapDemo1 { public static void main(String[] args) { Map<String,String> map=new HashMap<>(); map.put("唯易人生","YYDS"); map.put("不凭明天","只凭朝夕"); map.put("测试代码","BUG"); //生成Set集合获取Map集合的所有键 final Set<String> strings = map.keySet(); //1.利用增强for循环得到每一个键 System.out.println("--------利用增强for循环得到每一个键----------"); for (String str : strings) { //str是键值对的键 //再利用键找到所有的值 String res=map.get(str); System.out.println(str+":"+res); } //2.利用增强迭代器得到每一个键 System.out.println("--------利用增强迭代器得到每一个键-----------"); Iterator<String> ite = strings.iterator(); while (ite.hasNext()){ //再利用键找到所有的值 String key=ite.next(); String val=map.get(key); System.out.println(key+":"+val); } //利用lamda表达式 System.out.println("--------利用lamda表达式-----------"); strings.forEach(str-> System.out.println(str+":"+map.get(str))); } }
②entrySet
package com.Lucky.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; /* 获取键值对的第二种方法: entrySet();或取整个键值对对象 */ public class MapDemo2 { public static void main(String[] args) { Map<String,String> map=new HashMap<>(); map.put("BUG","时刻存在"); map.put("爱情BUG","NB"); map.put("人生无常","大肠包小肠"); //每天一个小知识:alt+enter == ctrl+alt+v Set<Map.Entry<String, String>> entries = map.entrySet(); //遍历获取 entries.forEach(str-> System.out.println(str.getKey()+":"+str.getValue())); for (Map.Entry<String, String> entry : entries) { System.out.println(entry.getKey()+":"+entry.getValue()); } System.out.println("*********************"); Iterator<Map.Entry<String, String>> iterator = entries.iterator(); while (iterator.hasNext()){ System.out.println(iterator.next()); } } }
③forEach
package com.Lucky.Map; import java.util.HashMap; import java.util.Map; import java.util.function.BiConsumer; /* 获取键值对的第三种方法: 直接forEach */ public class MapDemo3 { public static void main(String[] args) { Map<String,String> map=new HashMap<>(); map.put("QWERT","DFGHJK"); map.put("挨打杂货福","万能"); map.forEach(new BiConsumer<String, String>() { @Override public void accept(String k, String v) { System.out.println(k+":"+v); } }); //简化版 map.forEach((String k, String v)->{ System.out.println(k+":"+v); } ); //最简版 map.forEach((k,v)-> System.out.println(k+":"+v)); } }
标签:Map,map,put,System,println,集合,out From: https://www.cnblogs.com/Lucky-only/p/16975467.html