TreeMap
TreeMap是一个红黑树结构,派生自SortedMap,key-value作为一个节点。存储key-value时,需要根据key对节点进行排序。TreeMap有两种排序方式:
自然排序:TreeMap的所有key都要实现Comparable接口,而且所有的key应该是同一个类的对象,否则会抛出异常;
定制排序:构造器传入Comparator对象
WeakHashMap
WeakHashMap和HashMap的用法基本相似,区别就是HashMap的key保留了对对像的强引用,这意味着只要HashMap对象不被销毁,则key引用的对象就不会被垃圾回收;但WeakHashMap的key只保留了对实际对象的弱引用,如果key所引用的对象没有被其他强引用变量所引用,则key对应的引用机会被垃圾回收,WeakHashMap则自动删除key。
IdentityHashMap
这个类处理key比较独特,只有当两个key严格相等时,即key1==key2,而普通的HashMap只要两个key通过equals方法比较返回true,且他们的hashcode相等即可。允许使用null作为key和value。
EnumMap
这个类是一个与枚举一起使用的map类,ke必须是枚举值。构造器传入枚举类型。
网友评论