不算并发的话,java的Map(目前)一共有六种
常用:HashMap
较常用:TreeMap、LinkedHashMap、EnumMap
不太常用:WeakHashMap、IdentityHashMap
除了LinkedHash继承Hash,其他都是继承AbstractMap
Tree与Hash的不同是,Tree是有序的(目前使用红黑树),因此元素必须实现Comparable接口
添加元素,Tree比Hash慢,但只是一点点
LinkedHash记住插入元素的顺序,put和get都会把位置挪到最后!
Enum的key是枚举
WeakHash使用弱引用保存key,如果这个key没人引用,就会定时回收(tomcat源码里有使用)
IdentityHash的key不使用hashCode(),使用System.identityHashCode,比较不用equals,而用==。在对象序列化等才有用
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/74857.html
摘要:集合的种类常见的集合类分如下几个种类详解接口是和接口的父接口,也是集合类除外根接口。接口集合中元素的存放特点是元素有序,同一元素可重复。总结中集合是一个非常重要的知识点,在实际运用中也是常常会使用到。 集合的种类 常见的集合类分如下几个种类: Collection - List - ArrayList - LinkedList - Set - HashSet...
摘要:在学习的实现类是基于实现的前,先来介绍下接口及其下的子接口先看下的架构图如上图是映射接口,中存储的内容是键值对。是继承于的接口。中的内容是排序的键值对,排序的方法是通过比较器。 Map 在学习Set(Set的实现类是基于Map实现的)、HashMap、TreeMap前,先来介绍下Map接口及其下的子接口.先看下Map的架构图:showImg(https://segmentfault.c...
摘要:提供了线程安全的共享对象,在编写多线程代码时,可把不安全的整个变量封装进,或者把该对象与线程相关的状态使用保存并不能替代同步机制,两者面向的问题领域不同。 ThreadLocal类 使用ThreadLocal类可以简化多线程编程时的并发访问,使用这个工具类可以很简捷地隔离多线程程序的竞争资源。Java5之后,为ThreadLocal类增加了泛型支持,即ThreadLocal Threa...
阅读 1906·2021-11-22 14:44
阅读 1671·2021-11-02 14:46
阅读 3657·2021-10-13 09:40
阅读 2599·2021-09-07 09:58
阅读 1586·2021-09-03 10:28
阅读 1658·2019-08-29 15:30
阅读 976·2019-08-29 15:28
阅读 1468·2019-08-26 12:20