java中map集合的API及其用法

java.util.Map<k,v>集合


一、Map集合的特点
1、Map集合是一个双列集合,一个元素包含两个值,一个key,一个value。
2、Map集合中的元素,key和value的数据类型可以相同,也可以不同。
3、Map集合中的元素,key是不允许重复的,value是可以重复的。
4、Map集合中的元素,key和value是一一对应的。
二、java.util.HashMap<k,v>集合 implements Map<k,v>接口
HashMap集合的特点:
(1)HashMap集合底层是哈希表,查询的速度特别的快。
(2)HashMap集合是一个无序的集合,存储元素和取出元素的顺序有可能不一致。
三、java.util.LinkedHashMap<k,v>集合 extends HashMap<k,v>集合
LinkedHashMap的特点:
(1)LinkedHashMap集合底层是哈希表+链表。
(2)LinkedHashMap集合是一个有序的集合,存储元素和取出元素的顺序是一致的。

Map中的常用方法:

删除该Map对象中所有键值对;

void clear():

查询Map中是否包含指定的key值

boolean containsKey(Object key):

查询Map中是否包含一个或多个value;

boolean containsValue(Object value):

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

Set entrySet():

返回指定key对应的value,如果不包含key则返回null;

get():

查询该Map是否为空;

boolean isEmpty()

返回Map中所有key组成的集合;

Set keySet():

返回该Map里所有value组成的Collection。

Collection values()

添加一个键值对,如果集合中的key重复,则覆盖原来的键值对;

Object put(Object key,Object value)

将Map中的键值对复制到本Map中;

void putAll(Map m)

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

Object remove(Object key):

删除指定键值对,删除成功返回true;
 

boolean remove(Object key,Object value):

返回该Map里的键值对个数;

int size():

内部类Entry

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

Object getKey():返回该Entry里包含的key值;
Object getvalue():返回该Entry里包含的value值;
Object setValue(V value):设置该Entry里包含的value值,并设置新的value值。

HashMap<String, Integer> 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<Map.Entry<String, Integer>> entries = hm.entrySet();

 for (Map.Entry<String, Integer> entry : entries) {
     System.out.println(entry.getKey());
     System.out.println(entry.getValue());
        }

java8改进的HashMap和Hashtable实现类

https://blog.csdn.net/mashaokang1314/article/details/83784159?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值