-
不算并发的话,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,而用==。在对象序列化等才有用
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。