Java中的Map集合详解

目录

一、Map集合的特点

二、Map的实现类

三、HashMap详解

1、元素特点 

2、HashMap常用方法


一、Map集合的特点

1、以键值对key-value的方法存储数据

2、key不能重复,可看作一个set集合,value可以重复

二、Map的实现类

1、HashMap(最主要常用)

      i)线程不安全的,效率高

     ii)底层是使用数组+单向链表+红黑树结构存储(JDK8)

    iii)子类LinkedHashMap

                在HashMap使用数据结构的基础上,增加一对双向链表,记录元素的先后顺序,故我们在遍历元素时就可以按照添加的顺序显示

                开发中,对于频繁的遍历操作,建议使用此类。

2、TreeMap

      i)底层是红黑树结构

      ii)可按照添加的key-value中的key元素的指定属性的大小顺序进行遍历。

      iii)需要考虑自然排序和定制排序

3、Hashtable

      i)古老实现类,线程安全的,效率低

     ii)子类Properties:

           key和value都是String类型,常用来处理属性文件

三、HashMap详解

1、元素特点 

      i)key是无序、不可重复,所有key就构成一个set集合。故key所在的类要求重写equals() 和 hashCode()方法。

     ii)value是无序、可重复,所有value就构成一个Collection集合。故value所在的类只要求重写equals() 方法。

    iii)HashMap中的一个key-value,就构成一个Entry

2、HashMap常用方法

     i)添加、修改操作

         Object put(Object key,Object value) 将指定key-value添加(或修改)当前的map对象中,

                找到的话就是修改同时返回旧的value,没找到就是添加.

         void putAll(Map m):将m中所有key-value对存放到当前map中

     ii)删除操作

          Object remove(Object key):移除指定key的key-value对,并返回value

          void clear():清空当前map中的所有数据

    iii)元素查询

         Object get(Object key) :获取指定key对应的value

         boolean containsKey(Object key):是否包含指定的key

         boolean containsValue(Object value):是否包含指定的value

         boolean isEmpty():判断当前map是否为空

         boolean equals(Object obj):判断当前map和参数对象obj是否相等

    iv)长度

         size()

    v)遍历

        1)遍历key集:

              Set keyset():返回所有key构成的Set集合

        2)遍历value集:

             Collection values():返回所有value构成的Collection集合

        3)遍历Entry集:

              Set entrySet():返回所有key-value对构成的Set集合

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值