一、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方法。
时间: 2024-10-26 15:12:28