一、Map集合接口简介:JCF的集合接口之一,Map<K,V>双列集合接口,其中K,V都是单独的集合,K集合只能是Set集合,V集合可以是任意集合(List或Set),
K中的每一个值称之为key(键),V中的每一个值称之为value(值),key与value的映射称之为entry(key-value),例如:{k1=v1, k2=v2, k3=v3}中的k1=v1就是一个entry
二、Map集合接口特点:
2.1、Map集合中的元素并不是有序的
2.2、K中的元素不可以重复,V中的元素可以重复
2.3、K中的某个元素第一次添加,返回值是null
2.4、K中的某个元素不是第一次添加,就用V中的对应元素替换之前的V中对应元素,返回值是之前V中对应的元素
三、Map集合接口常用方法:
3.1、Map集合中存放数据:put(K,V),参数分别是K,V集合中的值
3.2、根据K集合的值获取V集合的值:get(K),返回值是V集合的值
3.3、根据K集合的值移除对应的Entry值:remove(K)
3.4、获取Map集合中Entry值的个数:size()
3.5、获取Map集合中的K集合:keySet()
3.6、获取Map集合中的V集合:values()
3.7、判断Map集合是否包含指定K值:containsKey(K)
3.8、判断Map集合是否包含指定V值:containsValue(V)
3.9、清空Map集合:clear()
3.10、获取Entry对象值的集合:entrySet()
四、Map集合接口的遍历:Map集合中没有迭代器,集合没有迭代器就不能使用增强for循环
4.1、Map集合遍历方式:
4.1.1、遍历K集合中的值,利用K集合的值再取出每一个V集合的值:
示例代码:
4.1.2、先获取Map集合中的Entry,根据Entry对象值遍历:
示例代码:
五、Map集合中K集合存入自定义对象:
5.1、当K集合以自定义对象作为值时,如果两次K中的值相同,不管V集合中的值是否相同,两个都会存在,返回值都为null
5.2、存入自定义对象去重解决方法:自定义对象需要覆盖equals和hashCode方法
5.3、示例代码:
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/274383.html