接口的实现类, 是将键映射到值的对象, 其中键和值都是对象, 并且不能包含重复键, 但可以包含重复值.HashMap 允许 null key 和 null value, 而 HashTable 不允许...的方法是 Synchronize 的, 而 HashMap 不是, 在多个线程访问 Hashtable 时, 不需要自己为它的方法实现同步, 而 HashMap 就必须为之提供外同步.Hashtable...以下回答摘自 stackoverflow:Hashtable 是较古老的类, 通常不鼓励使用它.在之后的使用中, 设计人员发现开发中通常需要一个空键或者空值, 于是就在 HashMap 中增加了对 null...的支持.HashMap 最为 HashTable 之后实现的类, 具有更高级的功能, 这基本上只是对 Hashtable 功能的改进.创建 HashMap 时, 它专门设计为将空值作为键处理并将其作为特殊情况处理...浅拷贝.深拷贝: 而如果是在堆中重新分配内存, 拥有不同的地址, 但是值是一样的, 复制后的对象与原来的对象是完全隔离, 互不影响, 为深拷贝.深浅拷贝的主要区别就是: 复制的是引用 (地址) 还是复制的是实例