java集合Map接口中hashmap、hashtable、linkhashmap的异同点分析
发布时间
阅读量:
阅读量
Map接口
public interface Map<K,V> 表示一种将键映射到特定值的对象接口。一个映射不允许有重复的键;每个键仅能对应一个值。
- 存储一组对象于键值对中。
- 所有键都是唯一的且不重复的;而对应的值则可以出现多次。
- 常见的具体实现类包括:hashMap、Hashtable、LinkHashMap和TreeMap等。
- hashmap与Hashtable的主要区别在于
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
基于哈希表结构的Map接口实现。该类支持所有映射操作,并允许使用null值及null键(除同步操作外与Hashtable基本相同)。此类不维持键值对顺序,并且不会持久化该顺序。
hashMap实现原理:
1、基于哈希表(数组+链表+二叉树(红黑树),1.8以前使用数组+链表)
什么是哈希表?
哈希表是一种通过哈希算法实现的数据存储方式。
在Java语言中,Object类中的hashCode()方法是一个本地方法(Native Method),其具体实现由C和C++语言完成。同一个对象的hashCode()值必须保持一致;如果不同,则可能
全部评论 (0)
还没有任何评论哟~
