首页 > 代码库 > Map— —查询表

Map— —查询表

一、Map:是一种以键值对(key-value)的形式储存数据的数据结构

      我们可以把Map看成一个多行两列的表格,第一列存key,第二列存value;每一行就相当于一组键值对,表示一组数据。

      Map接口为顶级接口,与Collection无关。

      Tips:

       1、key不能重复,即在Map中不能包含两个equals为true的key

二、Map的功能方法

1、V put(K k,V v):存入键值对,因为Map中不能存在重复的key,故当存入的key在Map中已经存在时,则是替换value操作,返回值为被替换的元素;当key不存在时,返回值为null

2、V get(Object key) :根据给定的key去查找对应的value并返回,若当前Map不包含给定的key,则返回null

3、boolean containsKey(Object key):若Map中包含给定的key(指两个key equals为true),则返回值为true

三、Map接口的实现类:

1、HashMap

   (1)Hash表原理:

 技术分享

(2)hashCode方法:

hashCode方法由Object类提供,返回值是对象所在内存地址的整数形式;

hashCode值是hashCode方法的返回值,且hashCode值是比较两个Key是否相同的依据,当判断自己定义的类逻辑是否相等而不是内存相等时,就会重写equals方法,此时需要重写hashCode方法。

Map— —查询表