集合Map详解

Map 详解

1.底层:数组加链表(散列表)
2.key-value的形式存储数据
       key是不允许有重复值
       value是允许有重复值
3.可以通过key,获得value
4.遍历方式
       迭代器:keySet()   返回此映射中包含的键的 Set 视图。
       迭代键值对:entrySet()
5.常见方法:
   put()添加
   get() 查询
   remove() 删除

6.存储过程:

  1.计算key的hashCode值,确定位置
  
  2.如果位置上有元素,使用equals() 方法判断是否重复
  
  3.如果元素相同,不存入
  
  4.如果元素不相同,遍历下一个节点,再根据equals()方法判断是否相同,判断到链表末尾,如果都没有重复的话,添加到链表末尾。

7.Map三大特点:

   1.包含键值对
   2.键唯一
   3.键对应唯一的值

8.分类

HashMap:(无序)
   1.hashmap是基于哈希表的map接口的非同步实现
   2.底层是(哈希表)
   3.线程不安全,效率高
   4..key(只允许一个null)和vaule允许有null值
          
           子类:LinkedHashMap        1.底层数据结构:链表+哈希表
                                      2.有序,按照插入顺序排序,
                                      3.线程不安全,效率高
                                      4.允许有null值
TreeMap:
   1.底层使用的数据结构是二叉树(红黑树),线程不同步
   2.作用:
        可以用于给map集合中的键进行排序     (1)比较器排序             (2)自然排序
   3.有序,根据key排序
   4.key不允许为空
HashTable:
   1.底层数据结构是哈希表
   2.无序
   3.线程安全,效率低
   4.key和value都不允许null值

HashMap和HashTable的区别

         有序和无序

HashMap和TreeMap的区别

      有序无序,null值
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值