Map集合

一、Map集合

    1.Map:

            1)存放的Key-value键值;

            2)集合下面的实现类,HashMap(子类:LinkedHashMap)、HashTable(子类:Properties)、TreeMap;

            3)Key存放的内容是唯一,不可重复,也是无序的,可以用Set接收,key中的对象必须重写hashCode跟equals方法;value存放的内容可重复,可用Collection接收,values存放对象必须重写equals方法;key-value可看做一对Entry,是不可重复的,Entry会根据key的位置来决定,可看做一个Set集合

    2.HashMap:

            1)底层是数组+链表+红黑树

            2)底层的实现:插入数据时,会根据哈希值寻找在数组中对应的位置,若该位置没有其他值,则该对象插入该数组位置,若果有其他对象,则同eauals方法判断是否为true,如果是,则覆盖当前对象,如果返回值是false,则通过链表的形式,连接该对象,如果连接的对象超过8个,会转成红黑树的方式储存

            3)HashSet底层是创建HashMap对象,所有值是存放在key值里面,value是个finanl修饰的object对象

            4)线程不安全,key跟value可以是null

            5)HashMap空参构造器:底层创建一个长度为16,加载因子为0.75,当内容超过10 * 0.75时,底层会进行扩容,容量为原来长度的2倍

    3.LinkedHashMap:

            1)由于该类只有构造器,继承了父类HashMap,底层实现方式跟HashMap一致,只是该类在遍历时通过插入的先后顺序进行输出

    4.HashTable:

            1)线程安全,key跟value不能是null,实现方式跟HashMap一致

    5.Properties:

            1)key跟value都是字符,用来读取文件内容

6.TreeMap:

            1)可以对元素进行排序,只能对key中的元素进行排序

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值