运城java编程开发关于map接口类型分析

2019/4/23 10:52:06 作者:博客园发布企业:运城达内科技有限公司[打印]

接口对于java编程开发程序员来说是必须了解和掌握的一种类的实现方法,下面我们就一起来了解一下,java编程环境下的map接口类型都有哪些。

Map是Java三种集合中的一种位于包中,Map作为一个接口存在定义了这种数据结构的一些基础操作,它的终实现类有很多:HashMap、TreeMap、SortedMap等等,这些终的子类大多有一个共同的抽象父类AbstractMap。在AbstractMap中实现了大多数Map实现公共的方法。本文介绍Map接口定义了哪些方法,同时JDK8又新增了哪些。

Map翻译为“映射”,它如同字典一样,给定一个key值,就能直接定位value值,它的存储结构为“key : value"形式,核心数据结构在Map内部定义了一个接口——Entry,这个数据结构包含了一个key和它对应的value。

Map接口中锁定义的方法。

int size()

返回Map中key-value键值对的数量,大值是_VALUE(2^31-1)。

boolean isEmpty()

Map是否为空,可以猜测如果size() = 0,Map就为空。

boolean containsKey(Object key)

Map是否包含key键值。

boolean containsValue(Object value)

Map是否包含value值。

V get(Object key)

通过key值获取对应的value值。如果Map中不包含key值则返回null,也有可能该key值对应的value值本身就是null,此时要加以区别的话可以先使用containsKey方法判断是否包含key值。

V put(K key, V value)

向Map中存入key-value键值对,并返回插入的value值。

Map从JDK5过后就改为了泛型类,get方法的参数不是泛型K,而是一个Object对象呢包括上面的containsKey(Object)和containsValue(Object)参数也是Object而不是泛型。在这个地方似乎是使用泛型更加合适。

V remove(Object key)

删除Map中的key-value键值对。

void putAll(Map m)

这个方法的参数是一个Map,将传入的Map全部放入此Map中,当然对参数Map有要求,“ extends K”意味着传入的Map其key值需要是此Map的key或者是子类,value同理。

void clear()

移除Map中所有的key-value键值对。

Set keyset()

返回key的set集合,注意set是无序且不可存储重复的值,当然Map中也不可能存在重复的key值,也没有有序无序一说。其实这个方法的运用还是有点意思的,这会涉及到Java对象引用相关的一些知识。

在之前提到了一个方法和这个类似——getOrDefault。注意不要搞混了,调用putIfAbsent会直接插入,而getOrDefault不会直接插入到Map中。

default boolean remove(Object key, Object value)

原来的remove方法是直接传递一个key从Map中移除对应的key-value键值对。新增的方法需要同时满足key和value同时在Map有对应键值对时才删除

default boolean replace(K key, V oldValue, V newValue)

和replaceAll类似,当参数中的key-oldValue键值对在Map存在时,则使用newValue替换oldValue。

default V replace(K key, V value)

这个方法是上面方法的重载,不会判断key值对应的value值,而是直接使用value替换key值原来对应的值。

【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。


关键字:运城达内,java编程,接口类型
免责声明:以上所展示的信息由网友自行发布,内容的真实性、准确性和合法性由发布者负责。行业信息网对此不承担任何保证责任。任何单位或个人如对以上内容有权利主张(包括但不限于侵犯著作权、商业信誉等),请与我们联系并出示相关证据,我们将按国家相关法规即时移除。

其他新闻

关于我们 | 服务条款 | 网站指南 | 免责声明 | 友情链接 | 给我们留言
红盾
COPYRIGHT @ 2001-2017 CNlinfo.net ALL RIGHTS RESERVED
深圳市信息行业协会商务网站 运营商:深圳市兴讯信息技术有限公司 粤ICP备:05039908
营业执照