如何进行Map key value能否为空的分析

如何进行Map key value能否为空的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

  • ConcurrentHashMap 的 Key 和 Value 都不能为 null,而 HashMap 却可以,你知道这么设计的原因是什么吗?

    • 就是普通的Map允许null是否是一个正确的做法也是值得商榷的,会增加犯错的可能

    • ConcurrentHashMap这个老爷子只说了value如果是空,会有二义性。

    • 就是在线程安全情况下,他到底是设置了一个null还是根本就没这玩意

    • Key也是一样的道理,此外,我也更同意他的观点,

  • TreeMap、Hashtable 等 Map 的 Key 和 Value 是否支持 null 呢?

    • 因为TreeMap是基于compare的,空值不能compare。

    • value可以为空,TreeMap并不线程安全

    • TreeMap的Key不能为空,

    • Hashtable 的 Key 和 Value也不能空,我想原理应该和ConcurrentHashMap一样。

看完上述内容,你们掌握如何进行Map key value能否为空的分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!