学科分类
目录
Java基础

Map接口简介

在现实生活中,每个人都有唯一的身份证号,通过身份证号可以查询到这个人的信息,这两者是一对一的关系。在应用程序中,如果想存储这种具有对应关系的数据,则需要使用Java中提供的Map接口。

Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value,键和值对象之间存在一种对应关系,称为映射。Map中的映射关系是一对一的,一个键对象Key对应唯一一个值对象Value,其中键对象Key和值对象Value可以是任意数据类型,并且键对象Key不允许重复,这样在访问Map集合中的元素时,只要指定了Key,就能找到对应的Value。为了便于Map接口的学习,接下来首先了解一下Map接口中定义的一些常用方法,如表1所示。

表1 Map集合常用方法

方法声明 功能描述
void put(Object key, Object value) 向Map集合中添加指定键值映射的元素
int size() 返回Map集合键值对映射的个数
Object get(Object key) 返回指定键所映射的值,如果此映射不包含该键的映射关系,则返回null
boolean containsKey(Object key) 查看Map集合中是否存在指定的键对象key
boolean containsValue(Object value) 查看Map集合中是否存在指定的值对象value
Object remove(Object key) 删除并返回Map集合中指定键对象Key的键值映射元素
void clear() 清空整个Map集合中的键值映射元素
Set keySet() 以Set集合的形式返回Map集合中所有的键对象Key
Collection values() 以Collection集合的形式返回Map集合中所有的值对象Value
Set<Map.Entry<Key,Value>> entrySet() 将Map集合转换为存储元素类型为Map的Set集合
Object getOrDefault(Object key, Object defaultValue) 返回Map集合指定键所映射的值,如果不存在则返回默认值defaultValue(JDK 8新方法)
void forEach(BiConsumer action) 通过传入一个函数式接口对Map集合元素进行遍历(JDK 8新方法)
Object putIfAbsent(Object key, Object value) 向Map集合中添加指定键值映射的元素,如果集合中已存在该键值映射元素,则不再添加而是返回已存在的值对象Value(JDK 8新方法)
boolean remove(Object key, Object value) 删除Map集合中键值映射同时匹配的元素(JDK 8新方法)
boolean replace(Object key, Object value) 将Map集合中指定键对象Key所映射的值修改为value(JDK 8新方法)

在表1中,列举了双列集合根接口Map中的一些增、删、改、查的主要方法,另外JDK 8版本在原有方法的基础上新增了许多新方法针对Map集合进行操作,在后续小节将会对这些方法进行详细讲解。

点击此处
隐藏目录