java的Map集合说明及方法demo示例

news2024/9/20 10:37:06

一、Map集合的特点:

Map集合的特点:

1.Map是一个双列集合,一个元素包含两个值(一个key,一个value)

2.Map集合中的元素,key和value的数据类型可以相同,也可以不同

3.Map中的元素,key不允许重复,value可以重复

4.Map里的key和value是一一对应的。

5.主要的实现类有HashMap,LinkedHashMap,TreeMap,HashTable

二、Map中的方法:

1.public V put(K key,V value)把指定的键和值添加到Map集合中,返回值是V

如果要存储的键值对,key不重复返回值V是null

如果要存储的键值对,key重复返回值V是被替换的value值

2.public V remove(Objectkey)把指定键所对应的键值对元素,在Map集合中删除,返回被删除的元素的值。返回值:V 。如果key存在,返回被删除的值,如果key不存在,返回null

3.public V get(Object key):根据指定的键 在Map集合中获取对应的值

如果key存在,返回对应的value值,如果key不存在,返回null

4.void clear():清空所键值对元素

5..booleancontainsKey(Object key)判断集合中是否包含指定的键

包含返回true,不包含返回false

6.containsValue(Objectvalue):是否包含指定的值

包含返回true,不包含返回false

7.isEmpty():是否为空

为空返回true,不为空返回false

8.int size():获取集合元素的个数

9.Collectionvalues():获取所值的集合

10.Set keySet():获取所键的集合

三、遍历Map集合的方式

1.通过键找值的方法;

使用了keySet方法,将Map集合中的key值,存储到Set集合,用迭代器或foreach循环遍历Set集合来获取Map集合的每一个key,并使用get(key)方法来获取value值

四、示例代码:

import java.util.Collection;
import java.util.HashMap;

public class Demo {
    public static void main(String[] args) {
        // 创建map集合
        HashMap<Integer, String> map = new HashMap<>();
        // 添加元素
        map.put(1, "a");
        map.put(2, "b");
        map.put(3, "c");
        System.out.println("1-初始化map-" + map);
        // 键有重复值发生覆盖
        System.out.println("2-c覆盖key4,不重复-" + map.put(4, "c"));
        System.out.println(map);
        System.out.println("2-d覆盖key4,重复-" + map.put(4, "d"));
        System.out.println(map);
        // 通过键删除整个键值对
        System.out.println("3-删除key2,key2存在-" + map.remove(2));
        System.out.println(map);
        System.out.println("3-删除key2,key2不存在-" + map.remove(2));
        System.out.println(map);
        // 通过键获取值
        System.out.println("4-key3取value-" + map.get(3));
        System.out.println("4-key5取value-" + map.get(5));
        // 判断是否为空
        System.out.println("6-map为空?-" + map.isEmpty());
        // 清空
        map.clear();
        System.out.println("5-清空map-" + map);
        // 判断是否为空
        System.out.println("6-map为空?-" + map.isEmpty());
        // 是否包含key
        System.out.println("7-map含key4?-" + map.containsKey(4));
        // 是否包含"b"
        System.out.println("8-map含b?-" + map.containsValue("b"));
        // 集合元素个数
        System.out.println("9-map元素个数-" + map.size());

        // 添加元素
        map.put(11, "aa");
        map.put(12, "bb");
        map.put(13, "cc");
        // 获取所有value组成的集合,打印输出
        System.out.println("10-map所有value-" + map);
        Collection<String> s = map.values();
        for (String value : s) {
            System.out.println(value);
        }
        // 获取所有key组成的集合,打印输出
        System.out.println("11-map所有key-" + map);
        for (Integer key : map.keySet()) {
            System.out.println(key + "-" + map.get(key));
        }
    }
}

运行结果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/393671.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

概率论小课堂:泊松分布(完善你对随机性的认识,特别是对风险防范的认识)

文章目录 引言I 泊松分布1.1 概率计算公式1.2 应对随机性,需要的冗余比平均值要大1.3 池子越大,越能抵消随机性带来的误差引言 伯努利试验:解释了随机事件的发生概率在理论和现实中的差距泊松分布:进一步完善你对随机性的认识,特别是对风险防范的认识。另一类特殊的伯努利…

11.Maxwell 部署

Maxwell 部署 一、环境准备 1、确保服务器上已经安装好了zookeeper、kafka、MySQL软件&#xff1b; &#xff08;1&#xff09;启动zookeeper: /usr/app/zookeeper3.4/bin/zkServer.sh start&#xff08;2&#xff09;启动三台主题的kafka 启动&#xff1a;bin/kafka-serv…

js求解《初级算法》141. 环形链表

一、题目描述 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置…

Apollo控制部分2-- ControllerAgent 控制器管理

Apollo控制部分2-- ControllerAgent 控制器管理摘要一、预备知识1、控制模块预备知识2、多态二、控制器管理解析1、初始化函数&#xff08;配置文件参数决定控制器&#xff09;1&#xff09;配置文件&#xff1a;"/apollo/modules/control/conf/control_conf.pb.txt"…

借助Spire.PDF,这家企业低成本实现在线文档签名和量打印

“公司主要是做跨国运输业务的&#xff0c;我们的客户在邮寄过程中需要提交和下载的确认材料非常多&#xff0c;这些材料大多需要客户分别下载后再手写签字确认上传&#xff0c;这导致我们订单操作效率非常低&#xff0c;还容易导致系统卡顿&#xff0c;我们一直在寻找合性能稳…

【C++】BloomFilter——布隆过滤器

文章目录一、布隆过滤器概念二、布隆过滤器应用三、布隆过滤器实现1.插入2.查找3.删除四、布隆过滤器优缺五、结语一、布隆过滤器概念 布隆过滤器是由布隆&#xff08;Burton Howard Bloom&#xff09;在1970年提出的 一种紧凑型的、比较巧妙的概率型数据结构&#xff0c;特点是…

从互联网科技到手机厂商,谁能扮演好孩子们的“辅导老师”?

【潮汐商业评论/ 原创】“ 没想到现在小孩子的学习机花样这么多&#xff0c;从配置到内容&#xff0c;挑得我是眼花缭乱&#xff0c;跟咱们那会儿一台复读机就能搞定学习完全不一样&#xff01;”80后的Gavin最近苦于为自己要上小学的孩子选购一台合适的学习机。本想是一件很容…

Process Monitor工具使用实验(23)

实验目的 学习Process Monitor实用小工具的使用&#xff0c;学会利用Process Monitor工具观察程序进程/线程、文件系统、注册表、网络连接等的活动。预备知识 Process Monitor是一个Windows系统下先进的监视工具&#xff0c;它可以显示文件系统、注册表、网络连接、进程…

操作系统基础知识介绍之Mixed CriticalitySystems——混合关键系统

一、发展背景 在嵌入式场景中&#xff0c;虽然Linux已经得到了广泛应用&#xff0c;但并不能覆盖所有需求&#xff0c;例如高实时、高可靠、高安全的场合。这些场合往往是实时操作系统 的用武之地。有些应用场景既需要Linux的管理能力、丰富的生态又需要实时操作系统的高实时、…

spring加载bean流程解析

spring作为目前我们开发的基础框架,每天的开发工作基本和他形影不离,作为管理bean的最经典、优秀的框架&#xff0c;它的复杂程度往往令人望而却步。不过作为朝夕相处的框架&#xff0c;我们必须得明白一个问题就是spring是如何加载bean的&#xff0c;我们常在开发中使用的注解…

机器人工程专业师生的第二张名片

课堂上多次提及第二张名片。什么是CatGPT-使用效果如何-专业感性非理性总结如下&#xff1a;机器人工程的工作与考研之困惑→汇总篇←其中包括&#xff1a;☞ 机器人工程的工作与考研之困惑“卷”☞ 机器人工程的工作与考研之困惑“歧视”☞ 机器人工程的工作与考研之困惑“取舍…

62-63-64 - 进程互斥锁Mutex的初步实现

---- 整理自狄泰软件唐佐林老师课程 文章目录1. 问题2. 系统调用重设计2.1 互斥锁系统调用功能设计2.2 整体调用流程2.3 编程实验&#xff1a;互斥锁模块的创建2.4 思考3. 在内核态实现互斥锁功能的考虑3.1 互斥锁内核数据结构及接口实现3.1.1 创建互斥锁3.1.2 销毁互斥锁3.1.3…

Java 字符串String 在堆,栈,常量池中

一、Java程序的运行会涉及以下的内存区域: 寄存器&#xff1a;JVM内部虚拟寄存器&#xff0c;存取速度非常快&#xff0c;程序不可控制。 栈&#xff1a;存放基本类型的数据和对象的引用&#xff0c;但对象本身不存放在栈中&#xff0c;而是存放在堆中。 堆&#xff1a;存放n…

全同态加密:FHEW

参考资料&#xff1a; Micciancio D, Peikert C. Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller[C]//Eurocrypt. 2012, 7237: 700-718.Alperin-Sheriff J, Peikert C. Faster bootstrapping with polynomial error[C]//Advances in Cryptology–CRYPTO 2014: 34…

css盒模型详解

一、引言 盒模型是网页开发中的一个基本概念&#xff0c;它描述了网页元素的外观和大小。盒模型由内容区域、内边距、边框和外边距四个部分组成&#xff0c;这些部分的大小和位置都可以通过CSS进行控制。在本文中&#xff0c;我们将介绍盒模型的概念和作用&#xff0c;并提出本…

一、SpringMVC概述

1.什么是SpringMVC 基于MVC开发模式的框架,用来优化控制器.它是Spring家族的一员.它也具备IOC和AOP. 什么是MVC?   一种开发模式,模型视图控制器的简称.所有的web应用都是基于MVC开发.   M:模型层,包含实体类,业务逻辑层,数据访问层   V:视图层,html,javaScript,vue等都…

MySQL安装和配置

下载官网下载mysql解压版本&#xff1a;配置环境变量下载完成后直接解压到需要放的文件夹&#xff0c;根据文件夹来配置环境变量&#xff1b;新建系统变量&#xff0c;变量名自取&#xff0c;值是MySQL的目录编辑path环境变量&#xff0c;加上MySQL的bin目录 %MYSQL_HOME%\bin配…

【python】序列(列表、元组)、字典、集合的初步认识

一、序列 序列类型(sequence)&#xff1a;一组有序的数据集&#xff0c;特点是数据之间存在先后关系&#xff0c;通过序号访问 序列包含以下三种类型&#xff1a; 1.字符串&#xff08;str&#xff09;不可修改 2.列表&#xff08;list&#xff09;可修改 3.元组&#xff08;t…

基于java的高校辅导员工作管理系统

摘 要网络技术的快速发展给各行各业带来了很大的突破&#xff0c;也给各行各业提供了一种新的管理模块&#xff0c;对于高校辅导员工作管理将是又一个传统管理到智能化信息管理的改革&#xff0c;设计高校辅导员工作管理系统的目的就是借助计算机让复杂的班级信息、学籍信息等管…

如何使用JSR 303 进行后台数据校验?

文章目录一、JSR 3031、什么是 JSR 303&#xff1f;2、为什么使用 JSR 303&#xff1f;3、JSR 303 常见操作&#xff1f;二、使用 JSR 303 相关注解处理逻辑1、JSR 303 注解处理逻辑1.1 使用步骤1.2 实际应用2 、JSR 303 分组校验2.1 为什么使用 分组校验&#xff1f;2.2 使用步…