Java教程

Java 集合类笔记

本文主要是介绍Java 集合类笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Hashtable、HashMap、TreeMap 三者区别

比较点HashtableHashMapTreeMap
key不能为null可以为 null
value不能为 null可以为 null
key一定情况下可以为 null
有序性无序无序有序
容量初始 11初始 16,且一定为 2 n 2^n 2n
扩容2n+12n
线程安全性线程安全线程不安全
hash 值计算底层是模运算,效率较低底层是移位运算

TreeMap 关于 key 为 null 的说明:TreeMap 初始化时可以传入 Comparator 参数,但也可以不传入。如果没有传入,在 put 元素时,默认使用 key 实现的 Comparable 进行比较然后按顺序存储(如果 key 没有实现 Comparable,在 ClassCast 的时候直接抛出异常),当然,key 如果为 null,则调用方法 compare 直接空指针异常。

但是,如果传入 Comparator,那么在 Comparator 的方法 compare 中,小心地判断了 key 为 null 的情况,也是可以将 key 存储为 null 的。

这篇关于Java 集合类笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!