我正在准备软件面试,现在已经有几天困扰了我。
我还无法弄清Java Collection API中存在的linkedhashmap,map,hashtable,hashmap之间的区别。
所有这些都具有相同的获取和放置复杂性吗?我知道map是接口类,而hashmap,hashtable,linkedhashmap实现此接口。那么这是否意味着这3个类的内部实现是相同的?如何在collections api中实现它们?
提前致谢!!!
我怀疑这些差异是否可以比JavaDocs中为这些类编写的更好地解释:
ConcurrentHashMap
ConcurrentSkipListMap
所有上述Map实现都有其基本的get / put操作(摊销) O(1) 时间复杂度。在null值的处理上存在细微的差异,不可避免地要检查JavaDoc以获得详细信息。
Map
null
要了解如何实现这些类,请看一下它们的继承树:
Dictionary
Hashtable
AbstractMap
HashMap
LinkedHashMap