博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA中Map集合常用的方法
阅读量:2441 次
发布时间:2019-05-10

本文共 2919 字,大约阅读时间需要 9 分钟。

Map接口概述

我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它们存储数据的形式不同,如下图。

A:Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储

B:Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找对所对应的值。

C:Collection中的集合称为单列集合,Map中的集合称为双列集合。

需要注意的是,Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。

 Map常用功能

A:映射功能:

   V put(K key, V value) :以键=值的方式存入Map集合

B:获取功能:

     V get(Object key):根据键获取值

int size():返回Map中键值对的个数

C:判断功能:

    boolean containsKey(Object key):判断Map集合中是否包含键key的键值对

    boolean containsValue(Object value):判断Map集合中是否包含值value键值对

 boolean isEmpty():判断Map集合中是否没有任何键值对

D:删除功能:

  void clear():清空Map集合中所有的键值对

  V remove(Object key):根据键值删除Map中键值对

E:遍历功能:

  Set<Map.Entry<K,V>> entrySet():将每个键值对封装到一个个Entry对象中,再把所有Entry的对象封装到Set集合中返回

  Set<K> keySet() :Map中所有的键装到Set集合中返回

  Collection<V> values():返回集合中所有的value的值的集合

演示以上的方法

package com.itheima_01;import java.util.HashMap;import java.util.Map;/* * 	Map的常用功能: * 		映射功能: * 			 	V put(K key, V value)  * 		获取功能: * 				V get(Object key)  * 				int size()  * 		判断功能: * 				boolean containsKey(Object key)  				boolean containsValue(Object value)  				boolean isEmpty()   * 		删除功能: * 				void clear()   * 				V remove(Object key)   *  * 		遍历功能: * 				Set
> entrySet() * * * Set
keySet() * Collection
values() */public class MapDemo2 { public static void main(String[] args) { //创建Map对象 Map
map = new HashMap
(); //V put(K key, V value) :就是将key映射到value,如果key存在,则覆盖value,并将原来的value返回 System.out.println(map.put("ITCAST001", "张三")); System.out.println(map.put("ITCAST002", "李四")); System.out.println(map.put("ITCAST001", "王五")); //void clear() : 清空所有的对应关系 //map.clear(); //V remove(Object key) :根据指定的key删除对应关系,并返回key所对应的值,如果没有删除成功则返回null //System.out.println(map.remove("ITCAST005")); //boolean containsKey(Object key) : 判断指定key是否存在 //System.out.println(map.containsKey("ITCAST003")); //boolean containsValue(Object value):判断指定的value是否存在 //System.out.println(map.containsValue("王五")); //boolean isEmpty() : 判断是否有对应关系 //System.out.println(map.isEmpty()); //int size() : 返回对应关系的个数 //System.out.println(map.size()); //V get(Object key) : 根据指定的key返回对应的value System.out.println(map.get("ITCAST002")); System.out.println(map); }}

演示以上的方法

package com.itheima_01;import java.util.Collection;import java.util.HashMap;import java.util.Map;import java.util.Set;/* * 	Set
keySet() * Collection
values() */public class MapDemo3 { public static void main(String[] args) { //创建Map对象 Map
map = new HashMap
(); //添加映射关系 map.put("ITCAST001", "张三"); map.put("ITCAST002", "李四"); map.put("ITCAST005", "李四"); //Set
keySet() : 以Set的形式获返回所有的key Set
keys = map.keySet(); for (String key : keys) { System.out.println(key); } System.out.println("-----------"); //Collection
values() : Collection
values = map.values(); for (String value : values) { System.out.println(value); } }}

转载地址:http://gjjqb.baihongyu.com/

你可能感兴趣的文章
javascript深度图_在JavaScript中深度克隆对象(及其工作方式)
查看>>
centos ssh密钥_如何在CentOS 8上设置SSH密钥
查看>>
debian 10 安装_如何在Debian 10上安装Webmin
查看>>
使用CentOS 8进行初始服务器设置
查看>>
ecmascript v3_节点v12中的新ECMAScript模块简介
查看>>
盖茨比乔布斯_通过盖茨比使用Airtable
查看>>
mern技术栈好处?_如何开始使用MERN堆栈
查看>>
路由器接路由器_路由器之战:到达路由器vsReact路由器
查看>>
rxjs 搜索_如何使用RxJS构建搜索栏
查看>>
如何在Debian 10上安装MariaDB
查看>>
go函数的可变长参数_如何在Go中使用可变参数函数
查看>>
debian 服务器_使用Debian 10进行初始服务器设置
查看>>
joi 参数验证_使用Joi进行节点API架构验证
查看>>
react-notifications-component,一个强大的React Notifications库
查看>>
如何在Debian 10上设置SSH密钥
查看>>
如何在Debian 10上安装Node.js
查看>>
如何在Ubuntu 18.04上添加和删除用户
查看>>
angular4前后端分离_如何在Angular 4+中使用Apollo客户端GraphQL
查看>>
如何在Ubuntu 18.04上安装Apache Kafka
查看>>
如何在Ubuntu 20.04上安装R [快速入门]
查看>>