map

java.util.Map 查找表
Map是java中非常经典的数据结构之一

Map的结构看起来像是一个多行两列的表格,其中左列称为:Key
右列称为:Value
Map总是以Key-Value对的形式保存数据的。
并且Map提供了根据Key获取其对应的Value的查找方法。

Map有一个要求:Key是不允许重复的(Key的equals方法决定)

常用实现类:java.util.HashMap

HashMap称为散列表或哈希表,使用散列算法实现的Map,
是当今世界上查询速度最快的数据结构。其查询速度不受数据
量影响,现如今所有网站的缓存都是用HashMap来实现。

常用方法

V put(K k,V v)

将给定的key,value对保存到Map中
若给定的Key在当前Map中已经存在,则是替换value
操作,那么返回值就是原Key对应的Value
否则返回值为null

V get(Object key)

根据给定的key获取对应的value,若给定的key在
Map中不存在,则返回值为null。

V remove(Object key)

删除给定的key所对应的键值对
返回值为该key对应的value。

boolean containsKey(Object key)

boolean containsValue(Object value)

判断当前Map是否包含给定的key或value
是否包含还是依据元素自身equals比较的结果

	Map的遍历

遍历Map有三种方式:

遍历所有的key

遍历所有的key-value对

遍历所有的value(相对不常用)

Set keySet()
将当前Map中所有的key以一个Set集合形式返回
然后遍历set集合就可以了

Set<Entry> entrySet()
将当前Map中每一组键值对一个Entry实例形式存放
于Set集合后返回
Entry是java.util.Map.Entry
有两个方法	entry.getKey()
		entry.getValue()
Entry的每一个实例用于表示Map中的一组键值对

Collection values()
将当前Map中所有的Value以一个Collection集合的
形式返回。之所以没有用Set集合返回,是因为Map
中的value是可以重复的。

HashMap的底层散列表数据结果存储

散列表:数组+链表

数组存储每个对象对应的hashCode码
如果hashCode码相同,则在数组后面穿链

TreeMap

底层数据结构的存储

二叉树

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值