java中的map集合_java中的Map集合

什么是Map集合?

Map用于保存具有映射关系的数据,Map集合里保存着两组值,一组用于保存Map的ley,另一组保存着Map的value。

图解

0d2168d43a0fcbf06ec75915567b9b49.png

map集合的作用

和查字典类似,通过key找到对应的value,通过页数找到对应的信息。用学生类来说,key相当于学号,value对应name,age,sex等信息。用这种对应关系方便查找。

Map和Set的关系

可以说关系是很密切了,虽然Map中存放的时键值对,Set中存放的是单个对象,但如果把value看做key的附庸,key在哪里,value就在哪里,这样就可以像对待Set一样来对待Map了。事实上,Map提供了一个Entry内部类来封装key-value对,再计算Entry存储时则只考虑Entry封装的key。

如果把Map集合里的所有value放在一起来看,它们又类似于一个List,元素可以重复,每个元素可以根据索引来找,只是Map中的索引不再是整数值,而是以另一个对象作为索引。

Map中的常用方法:

void clear():删除该Map对象中所有键值对;

boolean containsKey(Object key):查询Map中是否包含指定的key值;

boolean containsValue(Object value):查询Map中是否包含一个或多个value;

Set entrySet():返回map中包含的键值对所组成的Set集合,每个集合都是Map.Entry对象。

Object get():返回指定key对应的value,如果不包含key则返回null;

boolean isEmpty():查询该Map是否为空;

Set keySet():返回Map中所有key组成的集合;

Collection values():返回该Map里所有value组成的Collection。

Object put(Object key,Object value):添加一个键值对,如果集合中的key重复,则覆盖原来的键值对;

void putAll(Map m):将Map中的键值对复制到本Map中;

Object remove(Object key):删除指定的key对应的键值对,并返回被删除键值对的value,如果不存在,则返回null;

boolean remove(Object key,Object value):删除指定键值对,删除成功返回true;

int size():返回该Map里的键值对个数;

内部类Entry

实例:

Map中包括一个内部类Entry,该类封装一个键值对,常用方法:

Object getKey():返回该Entry里包含的key值;

Object getvalue():返回该Entry里包含的value值;

Object setValue(V value):设置该Entry里包含的value值,并设置新的value值。

HashMap hm = new HashMap<>();

//放入元素

hm.put("Harry",23);

hm.put("Jenny",24);

hm.put("XiaoLi",20);

System.out.println(hm);//{XiaoLi=20, Harry=23, Jenny=24}

System.out.println(hm.keySet());//[XiaoLi, Harry, Jenny]

System.out.println(hm.values());//[20, 23, 24]

Set> entries = hm.entrySet();

for (Map.Entry entry : entries) {

System.out.println(entry.getKey());

System.out.println(entry.getValue());

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值