Map集合

/*
Map集合:  该集合存储键、值对。一对一对往里存,而且键是唯一的

    1、添加
        put(K key,V value)
        putAll(Map<? extends K,? extends V> m)
    2,删除
        clear()
        remove(Object key)
    3,判断
        containsValue(Object value)
        containsKey(Object key)
        isEmpty()
    4,获取
        get(Object key)
        size()

        entrySet()
        keySet()


Map
    --Hashtable   底层是哈希表数据结构,不可以存放Null键null值,该集合是线程同步的   效率低
    --HashMap     底层是哈希表数据结构,允许使用null键null值,该集合是不同步的    效率高
    --TreeMap     底层是二叉树数据结构,线程不同步,可以用于给map集合中的键进行排序



Set底层就是使用了Map集合



*/



/*
Map集合的两种取出方式
1,Set<k> keySet:将map中所有的键存入到Set集合中,因为Set具备迭代器,
       所以能用迭代方式取出所有的键,再用get方法获取每个键对应的值

       Map集合取出原理:将map集合转成set集合。再通过迭代器取出

2,Set<map.Entry<k,v> entrySet:将map集合中的映射关系存入到set集合中,关系类型为map.Entry



*/


import java.util.*;

class MapDemo
{
    public static void main(String[] args)
    {
        Map<String,String> map = new HashMap<String,String>();  //new 一个map的子类对象

        System.out.println(map.put("01","xiaosan1"));
        // System.out.println(map.put("01","xiaobaitu"));

        //put相同键时,新值会覆盖旧的值。  put方法返回的是原来的值
        map.put("02","xiaosan2");
        map.put("03","xiaosan3");
        map.put("04","xiaosan4");
/*

        System.out.println("containsKey:"+map.containsKey("02"));

        //System.out.println("remove"+map.remove("02")); 移除元素

        System.out.println("get"+map.get("02"));
        //用get方法判断键值是否存在

        System.out.println(map);

        map.put(null,"haha");  //hashmap可以获取null键、null值

        //获取map集合中所有的值
        
        Collection<String> coll = map.values();   

        System.out.println(coll);   //无序的值



        //先获取map集合所有键的Set集合,keySet()

         Set<String> ks = map.keySet();

        Iterator<String> it = ks.iterator();

        while(it.hasNext())
        {

            String key = it.next();
            String value = map.get(key);
            //获取对应的值
            System.out.println("key......"+key+"value:"+value);
        }

*/

        //将Map集合中的映射关系取出 ,存入到Set集合中
        Set<Map.Entry<String,String>> es = map.entrySet();
        
        Iterator<Map.Entry<String,String>> it1 = es.iterator();

        while(it1.hasNext())
        {
            Map.Entry<String,String> me = it1.next();
            String key = me.getKey();
            String value = me.getValue();

            System.out.println(key+":"+value);

        

        }
        

        


        

        


        


    }



}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值