Java集合(四) --- Map

news2025/6/24 14:11:07

好潦草的一篇文章,不想学习想摆烂了又 ,凑合看

文章目录

  • 一、Map的实现类的结构
  • 二、Map结构的理解
  • 三、HashMap的底层实现原理? 以jdk7的说明:
  • 四、Map中定义的方法
  • 五、总结:常用方法
  • 六、代码


提示:以下是本篇文章正文内容,下面案例可供参考

一、Map的实现类的结构

在这里插入图片描述

二、Map结构的理解

在这里插入图片描述

三、HashMap的底层实现原理? 以jdk7的说明:

在这里插入图片描述

四、Map中定义的方法

在这里插入图片描述

五、总结:常用方法

在这里插入图片描述

六、代码

package com.tyust.edu;

import org.junit.Test;

import java.util.*;

/**
 * @author YML TYUST-XDU 2019-2026
 * @create 2023-10-12 8:45
 */
public class MapTest {

    @Test
    public void test1(){
        Map map = new HashMap();

//       map = new Hashtable();

        map.put(null,null);
    }

    @Test
    public void test3() {
        Map map = new HashMap();
        //添加
        map.put("AA",123);
        map.put(45,123);
        map.put("nn",23);
        //修改
        map.put("AA",37);

        System.out.println(map);

        Map map1 = new HashMap();
        map1.put("CC",123);
        map1.put("DD",123);

        map.putAll(map1);
        System.out.println(map);

        Object value = map.remove("CC");
        System.out.println(value);
        System.out.println(map);

        map.clear();
        System.out.println(map.size());

    }

    @Test
    public void test4() {
        Map map = new HashMap();
        //添加
        map.put("AA", 123);
        map.put(45, 123);
        map.put("nn", 23);
        //修改
        map.put("AA", 37);

        System.out.println(map.get(45));
        boolean isExit = map.containsKey("nn");
        System.out.println(isExit);

        isExit = map.containsValue(123);
        System.out.println(isExit);
        map.clear();
        System.out.println(map.isEmpty());
    }

    @Test
    public void test5() {
        Map map = new HashMap();
        //添加
        map.put("AA", 123);
        map.put(45, 123);
        map.put("nn", 23);
        //修改
        map.put("AA", 37);


        //遍历所有的key集keySet()
        Set set = map.keySet();
        Iterator iterator = set.iterator();
        while(iterator.hasNext()){
            System.out.println(iterator.next());
        }

        //遍历所有的value集:values()
        Collection values = map.values();
        for(Object obj:values){
            System.out.println(obj);
        }


        System.out.println();
        //遍历所有的key-value
        //entrySet()
        Set entrySet = map.entrySet();
        Iterator iterator1 = entrySet.iterator();
        while(iterator1.hasNext()){
            Object obj = iterator1.next();
            //entrySet集合中的元素都是entry
            Map.Entry entry = (Map.Entry)obj;
            System.out.println(entry.getKey()+"--->"+entry.getValue());
        }


        System.out.println();
        Set keySet = map.keySet();
        Iterator iterator2 = keySet.iterator();
        while(iterator2.hasNext()){
            //System.out.println(iterator2.next());
            Object key = iterator2.next();
            Object value = map.get(key);
            System.out.println(key+"--->"+value);
        }


    }


}

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

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

相关文章

企业活动目录管理利弊

凡事都有利和弊,那么如何解决企业活动目录管理中的各种弊端呢? 首先Windows环境是目前企业使用率最高的网络环境,作为windows最核心的组件,活动目录(AD域)自然被很多企业使用,其主要作用就是更…

goland 旧版本使用1.19环境

C:\Go\src\runtime\internal\sys\zversion.go // Code generated by go tool dist; DO NOT EDIT.package sysconst StackGuardMultiplierDefault 1const TheVersion go1.19引入其他包的标识符 package mainimport ("fmt""gotest/test")func main() {f…

扫描器(xray和bp联动)

文章目录 分类主动扫描和被动扫描bp与xray联动 分类 扫描器分为对web的扫描器和对主机的扫描器 主动扫描和被动扫描 主动扫描: 输入某个URL,然后由扫描器中的爬虫模块爬取所有链接,对GET、POST等请求进行参数变形和污染,进行重放测…

利用Cpolar内网穿透+HadSky技术构建您的私密高效论坛网站

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3 Cpolar稳定隧道(本地设置)2.4 公网访问测试 总结 前言 经过多年的基础…

YOLOv7改进:CoordAttention新型的轻量级自注意力机制| CVPR2021

💡💡💡本文独家改进:CoordAttention是一种新型的自注意力机制,可以加入到YOLOV7中不同位置验证涨点可行性 CoordAttention| 亲测在多个数据集能够实现大幅涨点 收录: YOLOv7高阶自研专栏介绍: http://t.csdnimg.cn/tYI0c ✨✨✨前沿最新计算机顶会复现 🚀�…

docker compose 部署ELK 8.X及监控

1. 前置环境 安装docker 安装docker-compose 相关版本: ES:8.5.0 kibana:8.5.0 logstash:8.5.0 2. docker-compose yaml文件 # 在指定路径创建配置文件 vim docker-compose-es-kibana-logstash.yamlversion: "3"…

【知网检索征稿】第三届社会发展与媒体传播国际学术会议(SDMC 2023)

第三届社会发展与媒体传播国际学术会议(SDMC 2023) 2023 3rd International Conference on Social Development and Media Communication 第三届社会发展与媒体传播国际学术会议 (SDMC 2023)将于2023年11月03-05日在中国杭州召开。会议主题主要围绕社会…

【独家】网络电视盒子哪个品牌好?实测总结目前性能最好的电视盒子

电视盒子可谓是居家必备,尤其是对老人小孩来说使用频率非常高,我做数码测评这几年陆陆续续已经测评过30多款电视盒子了,今天盘一盘目前性能最好的电视盒子,给不懂如何挑选电视盒子的朋友们做个参考。 NO.1 泰捷WEBOX WE40S电视盒子…

让数据“动”起来:Python动态图表制作!

在读技术博客的过程中,我们会发现那些能够把知识、成果讲透的博主很多都会做动态图表。他们的图是怎么做的?难度大吗?这篇文章就介绍了 Python 中一种简单的动态图表制作方法。 数据暴增的年代,数据科学家、分析师在被要求对数据有…

域渗透04-漏洞(CVE-2020-1472)

Netlogon协议: 想了解CVE-2020-1472,我们首先必须要了解Netlogon协议是什么: Netlogon 远程协议是 Windows 域控制器上可用的 RPC 接口。它用于与用户和计算机身份验证相关的各种任务,最常见的是方便用户使用 NTLM 协议登录到服务…

计算机毕业设计选什么题目好?springboot 健身房管理系统

✍✍计算机编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java实战 |…

Tmux教学【有图有代码】

Tmux教学【有图有代码】 0、前言1、Tmux基本概念1.1 安装 2、Tmux使用2.1 session操作2.2 window操作2.3 pane操作2.4 其他操作 3、日常中Tmux的工作流 0、前言 想必同学们在跑代码时也许会存在这样一个问题: 本地在连接远程服务器跑代码的时候,本地ssh窗…

一分钟!图片生成32种动画;Adobe绘画工具大升级;复盘Kaggle首场LLM比赛;VR科普万字长文 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🔥 Adobe Firefly 大升级!图像高清、操作便利,体验感拉满 https://firefly.adobe.com Adobe Firefly 升级了&…

钉钉智慧校园小程序如何开发,你知道么!

随着科技的不断发展,数字化已经成为了现代校园发展的重要趋势。在这个背景下,数字智慧校园小程序应运而生,为校园用户提供了更加便捷、高效的生活和学习体验。本文将围绕钉钉数字智慧校园小程序搭建方案进行创作,主要内容包括背景…

在ThingsBoard中,使用部件库自定义RPC下发内容

众所周知,在ThingsBoard中可以对设备进行RPC指令的下发,但有一个限制,必须符合以下的格式 {method:get,payload: {a: a} }所发送的内容必须包含method 与payload。两个字段。 有关RPC的API 可以查询这个链接 https://thingsboard.io/docs/user-guide/rpc/ 但是有朋友要求…

springboot企业客户信息反馈平台springboot39

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测

多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测 目录 多输入多输出 | MATLAB实现CNN-GRU-Attention卷积神经网络-门控循环单元结合SE注意力机制的多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果…

Linux C文件操作

文章目录 文件操作函数文件系统调用系统调用与标准函数c的调用的区别文件的读取位置标准c函数系统调用空洞文件 文件的内存映射操作文件目录 linux下的文件操作包括两种,一种是使用C函数,一种是使用系统调用。 gcc 常用来实现c程序的编译gcc filename.c …

java正则表达式 及应用场景爬虫,捕获分组非捕获分组

正则表达式 通常用于校验 比如说qq号 看输入的是否符合规则就可以用这个 public class regex {public static void main(String[] args) {//正则表达式判断qq号是否正确//规则 6位及20位以内 0不能再开头 必须全是数子String qq"1234567890";System.out.println(qq…

vscode利用lauch.json和docker中的delve调试本地crdb

---- vscode利用delve调试crdb 创建了一个delve容器用于debug crdbdelve: Delve是一个用于Go编程语言的调试器。它提供了一组命令和功能,可以帮助开发人员在调试过程中检查变量、设置断点、单步执行代码等操作。Delve可以与Go程序一起使用,…