1 package com.pb.collection; 2 3 import java.util.HashMap; 4 import java.util.Iterator; 5 import java.util.Map; 6 import java.util.Map.Entry; 7 import java.util.Set; 8 //by zengzhiwei 9 public class HashMapTest { 10 public static void main(String args[]) 11 { 12 //定义一个HashMap(Map接口的实现类)来存放对象 13 Map<String,String> hasMap=new HashMap<String,String>(); 14 //put("key","value"); 一个key对应一个value 15 hasMap.put("name", "zengzhiwei"); 16 hasMap.put("age","20"); 17 hasMap.put("sex", "boy"); 18 System.out.println("hasMap.isEmpty:"+hasMap.isEmpty());//判断这个HashMap是否为空 19 System.out.println(""+hasMap.entrySet()); //entrySet,是[sex=boy, age=20, name=zengzhiwei] 20 System.out.println(""+hasMap.values());//返回value对象集;[boy, 20, zengzhiwei] 21 System.out.println(""+hasMap.keySet());//返回[sex, age, name] 22 //通过entryset来遍历 23 Iterator iterator=hasMap.entrySet().iterator();//set集才可以使用Iterator方法遍历 24 while(iterator.hasNext())//遍历的时候还有下一个参数 25 { 26 Object key=iterator.next();//定义一个对象来接受遍历的每一个对象 27 System.out.println(key.toString());//用String方式输出 28 } 29 //通过keySet来遍历 30 Iterator it1=hasMap.keySet().iterator(); 31 while(it1.hasNext()) 32 { 33 String key1=(String)it1.next(); 34 System.out.println("has.get()方式:"+hasMap.get(key1)); 35 36 } 37 //定义一个set集,指定参数类型是Entry<String,String> 38 Set<Entry<String,String>> sets=hasMap.entrySet(); 39 for(Entry<String,String> res:sets)//另外一种遍历方式 40 { 41 System.out.println("res.getkey():"+res.getKey()); 42 System.out.println("res.getValue():"+res.getValue()); 43 } 44 //除了Iterator的方式,还可以用set的方式来遍历keySet遍历 45 Set<String> result=hasMap.keySet(); 46 for(String result1:result){ 47 System.out.println("hasMap.get():"+hasMap.get(result1)); 48 } 49 } 50 51 }
运行结果: