Map集合之HashMap的常用方法

Map接口的实现类HashMap的常用方法

1、Map集合的特点

  • Map集合是双列集合,由key和value组成。称之为键值对
  • 键的特点:无序,无下标,不重复。
  • 值的特点:无序,无下标,可重复

2、Map集合体系结构

在这里插入图片描述

3、Map集合的常用方法

  • 常用方法:
    put(K key, V value)
    get(Object key)
    Set keySet()
    Collection values()
    Set<Map.Entry<K,V>> entrySet()
    boolean containsKey(Object key)
    boolean containsValue(Object value)
    V remove(Object key)
    int size()
public class HashMapDemo{
    public static void main(String[] args) {
        Map<String, String> map = new HashMap<>();
        //向map集合中添加元素  put(K key,V value)
        map.put("CN","中国");
        map.put("HK","香港");
        map.put("CNHK","香港");
        map.put("UK","英国");
        map.put("CN","中华人民共和国");
        System.out.println(map);//{CNHK=香港, HK=香港, UK=英国, CN=中华人民共和国}

        //根据map集合中的key取出value  get(Object key)
        System.out.println(map.get("CN"));//中华人民共和国
        System.out.println(map.get("CNHK"));//香港

        //获取map集合中所有的key返回一个Set集合  Set<K> keySet()
        Set<String> keySet = map.keySet();
        for (String s : keySet) {
            System.out.print(s+"\t");//CNHK    HK UK CN
        }
        //获取map集合中所有的value返回一个Collection集合   Collection<V> values()
        Collection<String> values = map.values();
        for (String value : values) {
            System.out.print(value+"\t");//香港  香港 英国 中华人民共和国
        }
        System.out.println();
        //获取map集合中所有Entry(键值对)对象  Set<Map.Entry<K,V>> entrySet()
        //Entry是Map中的一个内部类,因为键值对没办法用一种数据类型存储,
        // 就需要一个数据承载bean去接收键值对,Entry就是这样的
        Set<Map.Entry<String, String>> entrySet = map.entrySet();
        for (Map.Entry<String, String> entry : entrySet) {
            //System.out.print(entry+"\t");//CNHK=香港   HK=香港  UK=英国  CN=中华人民共和国
            System.out.print(entry.getKey()+":"+entry.getValue()+"\t");//CNHK:香港   HK:香港  UK:英国  CN:中华人民共和国
        }

        //判断map集合中是否包含指定key  boolean containsKey(Object key)
        System.out.println(map.containsKey("JP"));//false
        //判断map集合中是否包含指定value  boolean containsValue(Object value)
        System.out.println(map.containsValue("香港"));//true

        //判断map集合中是否为空   boolean isEmpty()
        System.out.println(map.isEmpty());//false
        //按照集合中key删除元素    V remove(Object key)
        //如果集合中没有要删除的元素也不会报错,返回null,如果有,返回删除的value值
        String s = map.remove("USA");
        System.out.println(s);//null
        System.out.println(map);//{CNHK=香港, HK=香港, UK=英国, CN=中华人民共和国}

        //返回map集合中有多少个键值对    int size()
        System.out.println(map.size());//4

        System.out.println("=====================================================");
        /**
         * map的put方法的返回值
         *
         * 如果不存在这个key那么返回null。
         * 如果存在这个key那么返回值以前的key对应的值。
         */
        String s1 = map.put("TD", "中国台湾");
        String s2 = map.put("TD", "中国台湾省");
        System.out.println(s1);//null
        System.out.println(s2);//中国台湾
    }
}

4、HashMap的底层实现原理

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值