zoukankan      html  css  js  c++  java
  • Map小记

    Map

    • key-value存储容器

    HashMap

    • Hash表实现的Map
    • 允许key和value为null

    LinkedHashMap

    • Hash表实现,同时保存了插入或者访问顺序

    SortedMap

    • 有序Map,key会排序
    • 可导航的map,由于是有序的,因此可以实现获取某个key排序前的所有key等类似操作

    TreeMap

    • 使用红黑树实现的Map

    HashTable

    • 线程安全的Hash表实现Map,使用this锁,内部优化很少

    ConcurrentMap

    • 并发安全的Map

    ConcurrentHashMap

    • 并发安全的hash表实现的Map
    • 使用cas和hash槽synchronized保证线程安全

    ConcurrentLinkedHashMap❌

    • 不存在,因为保持全局顺序必须map级别的锁

    ConcurrentNavigableMap

    • 并发可导航map,有序map

    ConcurrentTreeMap❌

    • 不存在,TreeMap是红黑树实现的,只有一个根节点,要实现并发必须加map级别的锁

    ConcurrentSkipListMap

    • 并发跳表实现Map,有序,通过cas实现无锁

    不管key和value能不能为null,也懒得去记,最好都把null包装成null对象,这样所有的map都能一致对外服务

  • 相关阅读:
    时间的计算
    中英文词频统计
    组合数据类型,英文词频统计
    作业二
    学号提取
    用for循环产生的网址
    温度转换
    身份证号码提取
    数字游戏
    更改mysql连接个数
  • 原文地址:https://www.cnblogs.com/zby9527/p/13633010.html
Copyright © 2011-2022 走看看