map集合是以键值对进行存储值的,所以遍历map集合无非就是获取键和值,根据实际需求,进行获取键和值.
1.无非就是通过map.keySet()获取到值,然后根据键获取到值.
for(String s:map.keySet()){ System.out.println("key : "+s+" value : "+map.get(s)); }
2.通过Map.Entry(String,String)获取,然后使用entry.getKey()获取到键,通过entry.getValue()获取到值
for(Map.Entryentry : map.entrySet()){ System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue()); }
3.其中通过Iterator也是为了最终获得entry,所以理解其用法,可以很好的使用和掌握
public class MapTest01 {13 14 public static void main(String[] args) {15 Mapmap=new HashMap ();16 map.put("张三1", "男");17 map.put("张三2", "男");18 map.put("张三3", "男");19 map.put("张三4", "男");20 map.put("张三5", "男");21 22 //第一种遍历map的方法,通过加强for循环map.keySet(),然后通过键key获取到value值23 for(String s:map.keySet()){24 System.out.println("key : "+s+" value : "+map.get(s));25 }26 System.out.println("====================================");27 28 //第二种只遍历键或者值,通过加强for循环29 for(String s1:map.keySet()){ //遍历map的键30 System.out.println("键key :"+s1);31 }32 for(String s2:map.values()){ //遍历map的值33 System.out.println("值value :"+s2);34 }35 System.out.println("===================================="); 36 37 //第三种方式Map.Entry 的加强for循环遍历输出键key和值value38 for(Map.Entry entry : map.entrySet()){39 System.out.println("键 key :"+entry.getKey()+" 值value :"+entry.getValue());40 }41 System.out.println("====================================");42 43 //第四种Iterator遍历获取,然后获取到Map.Entry ,再得到getKey()和getValue()44 Iterator > it=map.entrySet().iterator();45 while(it.hasNext()){46 Map.Entry entry=it.next();47 System.out.println("键key :"+entry.getKey()+" value :"+entry.getValue());48 }49 System.out.println("====================================");50 51 }52 53 54 }
4.Map的一些常用的知识点,和取值的变形形式,都需要掌握和了解
public class MapTest02 {14 15 public static void main(String[] args) {16 //1:key,value都是object类型的17 //2:key必须是唯一的,不唯一,那么后面的value会把前面的value覆盖18 //3:对于HashMap,key可以为空19 //4:value可以为空,也可以为空20 //5:HashTable的key和value不能为空21 //6:properties的key和value必须为String类型的22 Mapmap=new HashMap<>();23 map.put("null", "this is null 1");24 map.put("null", "this is null 2");25 System.out.println(map.size());26 System.out.println(map.get(null));27 28 System.out.println("=============================");29 //循环显示map类型的key以及对应的value30 //三个集合,key的集合,value的集合,键值对的集合31 Set keys=map.keySet();32 for(String s:keys){33 System.out.println(s);34 }35 System.out.println("=============================");36 Collection values=map.values();//值的集合37 System.out.println(values);38 System.out.println("=============================");39 Set > entrys=map.entrySet();//键值对的集合40 for(Map.Entry entry:entrys){41 System.out.println(entry.getKey()+" "+entry.getValue());42 }43 44 }45 }