MAP集合练习

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32444825/article/details/85042418

package collection;

import java.util.HashMap;
import org.junit.Test;

/**
 * 
 * @function: MAP集合练习
 *1、指定类型。2、未指定类型
 *
 * @author:陆立均
 * @date:2018年12月16日
 *
 */
public class Map {
    
    /**
     * 未指定键、值类型
     * 
     * 键值为任意类型 ,都为Object类型
     */
    @Test
    public void hmap(){
        HashMap map=new HashMap();
        map.put(1, 100);
        map.put("name","王五");
        //遍历获取键
        for(Object o : map.keySet()){
            //根据键取值
            Object obj=map.get(o);
            System.out.println("o:"+obj);
        }
        
    }

    /**
     * 指定键值类型
     * 
     * 键为Integer类型,值为字符串类型
     * 
     */
    @Test
    public void opperMap_01() {
        // 构造一个具有默认初始容量 (16) 和默认加载因子 (0.75) 的空 HashMap。只有调用put的方法的时候才真正的创建数组
        HashMap<Integer, String> hMap = new HashMap<Integer, String>();  //不创建数组的,所以结论是 0
        //Map<String, String> m0 = new HashMap<>(0);
        
        hMap.put(1, "100");
        hMap.put(2, "002");
        hMap.put(3, "006");
        hMap.put(3, "006"); //重复时,被覆盖
        // 遍历集合方式一
        for (Integer id : hMap.keySet()) {
            String value = hMap.get(id);
            System.out.print("id:"+id);
             System.out.println(",值:"+value);
        }

        // // 遍历集合方式二:通过Map.values()遍历所有的value,但不能遍历key")
        for (String v : hMap.values()) {
            //System.out.println("value= " + v);
        }

        // 第三种:推荐,尤其是容量大时
        System.out.println("第三种:通过Map.entrySet遍历key和value");
        for (HashMap.Entry<Integer, String> entry : hMap.entrySet()) {
            // Map.entry<Integer,String> 映射项(键-值对) 有几个方法:用上面的名字entry
            // entry.getKey() ;entry.getValue(); entry.setValue();
            // map.entrySet() 返回此映射中包含的映射关系的 Set视图。
            
            //    System.out.println("key= " + entry.getKey() + " and value= "            + entry.getValue());
        }
    }
    
    /**
     * 指定键、值类型。
     * 
     * 键是字符串类型,值为Student对象
     */
    @Test
    public void hashMap(){
        HashMap<String,Student> hs=new HashMap<String,Student>();
        hs.put("01", new Student("1","张三"));
        hs.put("02",new Student("2","lisi"));
        //
        for(String id:hs.keySet()){
            Student student=hs.get(id);
            System.out.print("学生:"+student.id);
            System.out.println("名字:"+student.name);
        }
    }
}
 

猜你喜欢

转载自blog.csdn.net/qq_32444825/article/details/85042418