JavaSE-Map集合

猿创征文|【JavaSE】Map集合详细介绍 java.util.Map集合Map集合的特点:1.Map集合是一个双列集合,一个元素包含两个值(一个key,一个value)。2.Map集合中的元素,key和value的数据类型可以相同,也可以不同。3.Map集合中的元素,key是不允许重复的,value是可以重复的。4.Map集合中的元素,key和value是一一对应。Map集合介绍:1、Map集合和Collection集合没有关系。2、Map集合以key和value的这种键值对的方式存储元素。 阅读详情

Map集合

Set集合和List集合都属于Collection

Map每个元素的值都包含两个对象,key-value键值对

key不能够重复,唯一的key可以对应多个value

Map中不存在索引,有key,可以实现循环访问

HashMap

允许 null值和 null关键

初始化

HashMap<key,value> hashMap = new HashMap<key,value>();

常用方法

boolean containsKey(Object key)  #返回 true如果这Map包含一个指定的键映射
boolean containsValue(Object value)  #返回 true如果映射到指定的值的一个或多个键
V get(Object key)  #返回指定的键映射的值,或 null如果这个Map不包含的键映射
Set<K> keySet()  #返回一个 Set的关键视图包含在这个Map
V put(K key, V value)  #将指定的值与此映射中的指定键关联
V replace(K key, V value)  #仅当它当前映射到某一值时,替换指定的键的条目
boolean replace(K key, V oldValue, V newValue)  #仅当当前映射到指定的值时,替换指定的键的条目

遍历

Student类

package com.HashMap.util;
/*
 * @author Administrator
 * @version 1.0
 */
public class Student {
    //成员变量
    private String id;
    private String name;
    private char sex;
    //无参构造方法
    public Student(){

    }
    //有参构造方法
    public Student(String id,String name,char sex){
        this.id = id;
        this.name = name;
        this.sex = sex;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public char getSex() {
        return sex;
    }

    public void setSex(char sex) {
        this.sex = sex;
    }
    @Override
    public int hashCode(){
        return id.hashCode();
    }
    @Override
    public boolean equals(Object obj){
        if (this == obj){
            return true;
        }
        if (obj instanceof Student){
            Student stu = (Student) obj;
            if ((this.id == stu.id) && (this.name == stu.name) && (this.sex == stu.sex)){
                return true;
            }
        }else {
            System.out.println(obj.getClass());
        }
        return false;
    }
}

HashMapDemo类

package com.HashMap.util;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
 * @author Administrator
 * @version 1.0
 */
public class HashMapDemo {
    //主函数
    public static void main(String[] args) {
        //初始化HashMap对象
        HashMap<String,Student> hashMap = new HashMap<String, Student>();
        //初始化Student对象
        Student student1 = new Student("00000002","邓一",'男');
        Student student2 = new Student("00000001","李二",'男');
        Student student3 = new Student("00000003","张三",'男');
        //不能重复
        hashMap.put(student1.getId(),student1);
        hashMap.put(student2.getId(),student2);
        hashMap.put(student3.getId(),student3);
        hashMap.put(null,null);
        //Iterator遍历HaspMap
        //方法一:通过keyset()方法获得key的set集合
        Set<String> set = hashMap.keySet();
        Iterator<String> it1 = set.iterator();
        while (it1.hasNext()){
            String key = it1.next();
            System.out.println(key + ":" + hashMap.get(key));
        }
        //方法二:通过entrySet()方法
        Iterator it2 = hashMap.entrySet().iterator();
        while (it2.hasNext()){
            //获得entry(多态),向下转型
            Map.Entry<String,Student> entry = (Map.Entry<String, Student>) it2.next();
            System.out.println(entry.getKey() + ":" + entry.getValue());
        }
        //null:null
        //00000003:com.HashMap.util.Student@ba071803
        //00000002:com.HashMap.util.Student@ba071802
        //00000001:com.HashMap.util.Student@ba071801
    }
}

Hashtable

不接受Null

为了成功的再Hashtable中存储和获取对象,用作键的对象必须实现hashCode和equals方法

HashTableDemo类

package com.HashTable.util;

import java.util.*;

/*
 * @author Administrator
 * @version 1.0
 */
public class HashTableDemo {
    //主函数
    public static void main(String[] args) {
        //初始化Hashtable对象
        Hashtable<String,Student> hashtable = new Hashtable<String, Student>();
        //初始化Student对象
        Student student1 = new Student("00000002","邓一",'男');
        Student student2 = new Student("00000001","李二",'男');
        Student student3 = new Student("00000003","张三",'男');
        //不能重复
        hashtable.put(student1.getId(),student1);
        hashtable.put(student2.getId(),student2);
        hashtable.put(student3.getId(),student3);
        //不允许null值
//        hashtable.put(null,null);
        //Hashtable特有的循环Enumeration<V> elements() 返回此散列表中值的枚举
        Enumeration<String> enumeration = hashtable.keys();
        while (enumeration.hasMoreElements()/*类比hashNext()*/){
            String key = enumeration.nextElement();
            System.out.println(key + ":" + hashtable.get(key));
        }
        //00000003:com.HashMap.util.Student@ba071803
        //00000002:com.HashMap.util.Student@ba071802
        //00000001:com.HashMap.util.Student@ba071801
    }
}
Docker 安装 CentOS7 本文主要介绍了docker 下安装centos7。访问 CentOS 镜像库地址:https://hub.docker.com/_/centos?tab=tags&page=1。可以通过 Sort by 查看其他版本的 CentOS 。默认是最新版本 centos:latest 。 使用以下命令来查看是否已安装了 centos7: 启动centos容器,并把docker上centos的22端口映射到本机60001端口(端口号可以自己指定) 3、进入到Centos容器 4.安装ssh服务和网络必须软件 阅读详情

相关推荐

基于MCP协议的AssistAI:深度集成Eclipse的AI编程助手实战指南

在AI辅助编程领域,大型语言模型(LLM)与开发工具的深度集成是提升开发效率的关键。其核心原理在于通过标准化的协议(如MCP,Model Context Protocol),将IDE的功能封装为AI可调用的工具集,从而实现环境感知与操作同步。这项技术的价值在于打破了传统AI编程工具与开发者工作流的割裂,使AI能够以符合工程规范的方式直接操作项目,如进行代码重构、运行测试和交互式调试。其典型应用场景包括复杂代码导航、自动化测试生成与精准的增量编译。本文以Eclipse插件AssistAI为例,详细解析了如何通

weixin_42531579的博客 564

JavaSE之集合类的Map集合接口

本文章主要介绍集合类的Map集合接口及其子类:HashMap类、Hashtable类、ConcurrentHashMap类、TreeMap类。本文章还详细介绍了Map集合中key值不重复的原理、使用TreeMap类创建Map集合的有序存储的原理以及HashMap的底层原理。

谢广涛的博客 495

从Zemax到Speos:HUD设计数据无缝迁移避坑指南(含STEP文件精度验证)

本文详细介绍了从Zemax到Speos的HUD设计数据无缝迁移方法,重点解决Zernike曲面参数保真、虚拟厚度设置和坐标系对齐等核心问题。通过STEP文件精度验证和工程化解决方案,帮助工程师避免数据迁移中的常见陷阱,提升HUD系统设计效率。适用于Ansys Zemax和Ansys Speos用户,优化光学性能验证流程。

h6i7j8的博客 1064

JavaSE进阶(九)——Map

Map的基本结构有两个组成,一个是key,一个是value;这两个代表一个整体元素,key就是唯一标识这个元素的。同时Map的内部组成是无序的,它在插入的时候要经过Hash算法做取余操作。

老程的小白博客空间 633

python电子学会三级的零碎笔记

‌示例‌:如果s = ['a', 'b', 'c'],则' '.join(s)+'\n'的结果是'a b c\n',写入文件时所有元素会在一行内显示,每个元素之间用空格分隔,末尾有一个换行符。(2) '\n'.join(s)‌:如果s = ['a', 'b', 'c'],则'\n'.join(s)的结果是'a\nb\nc',写入文件时每个元素会占据文件的一行。(1) ' '.join(s)+'\n'‌:这种方式首先将列表s中的每个元素通过空格连接成一个字符串,然后在字符串末尾添加一个换行符\n。

xzal12的博客 693

【机械视觉】Halcon—【二、Halcon算子全面介绍(超详细版)】

Halcon 的算子(operators)按照功能被系统性地划分为多个类别,官方文档中目前(Halcon 22.11 版本)共有 19 个主分类,每个主分类下还有若干子分类。 本人在此对这19个分类的常用核心算子进行了一系列的总结,且本人在文章最后还总结了一些案例经验。 注意: ​​​​​​​跨分类调用:某些算子可能在多个分类中,但官方文档中会明确其主分类。 例如: read_image(文件操作)常被其他分类(如图像处理)的示例调用,但其核心功能是文件读取。

qq_3517289697的博客 3919

JavaSE Map的使用

1.Map概述 Map与Collection并列存在,用来保存具有映射关系的数据:Key-Value Map 中的 key 和  value都可以是任何引用类型的数据 Map 中的 key 用Set来存放,不允许重复,所以Map中的Set类型需要重写hashCode()和equals()方法,因为引用对象是通过这两个方法来保证Set的唯一性。 Map中的key 和 value之间存在单

nuptxiaoli 802

optee技术简介

OP-TEE(Open Portable Trusted Execution Environment)是一种开源的可信执行环境(TEE),专为ARM TrustZone架构设计。TEE是一种独立的执行环境,运行在主操作系统之外,为敏感任务提供安全的计算空间,如加密、身份验证、密钥管理等。

baron-周贺贺-代码改变世界ctw 1279

JavaSE集合框架之Map集合

JavaSE集合框架之Map集合 1.Map集合概述和特点 A: 需求:根据学号获取学生姓名 B:Map接口概述 查看API可以知道: 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 C:Map接口和Collection接口的不同 Map是双列的,Collection是单列的 Map的键唯一,Collection的子体系Set是唯一的 Map集合的数据结构针对键有效,跟值无关;Collection集合的数据结构是针对元素有效 2.Map集合的功能概述 A:Map

ITzhazhassc的博客 327

华为OD机试 - 猴子吃桃 - 二分查找(Java 新系统 100分)

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 3851

FPGA设计-Vivado的Off-Chip Termination设置问题

经常遇到在FPGA设计时,很多人很迷惑这些关于硬件的终端匹配怎么设置,Vivado的Off-Chip Termination设置问题,这里就详细说一下这个问题。

whm128的博客 2728

JavaSE第17篇:集合之Map集合

JavaSE第17篇:集合之Map集合 核心概述:本篇我们将会学习JavaSE中的Map集合、可变参数,并且我们会继续完善综合案例之斗地主洗牌发牌功能。同时我们也会体验一下集合的嵌套使用。 第一章:Map集合 1.1-概述(了解) 现实生活中,我们常会看到这样的一种集合:IP地址与主机名,身份证号与个人,系统用户名与系统用户对象等,这种一一对应的关系,就叫做映射。Java提供了专门的集合类用来存放这种对象关系的对象,即java.util.Map接口。 我们通过查看Map接口描述,发现Map接口下的集合与Co

【01编程】的博客 385

拉曼光谱入门:7.拉曼光谱仪光学系统结构详解

本文系统拆解了拉曼光谱仪从激光器输出经聚焦照明、二向色镜/陷波滤光片组滤除瑞丽散射、衍射光栅色散至CCD探测的完整光路,阐述了各光学模块在微弱非弹性散射信号提取、杂散光抑制及高分辨光谱成像中的工程原理与技术参数要求。

qq_53529450的博客 226

JavaSE基本知识补充 -Map集合

List集合:Set:Map是一个键值对的集合:我们如果想要从map中获得值,可以根据键MapMap:1,Map集合(无序)的数据结构实现只针对键有效,与值无关。2,存储的是键值对形式的元素,键唯一,值可重复。--和索引一样一个映射不能包含重复的键;-键不能重复每个键最多只能映射到一个值。键只允许有一个空值, -键不能重复值可以有多个空值。Map也是无序的 -键无序。

m0_75163045的博客 1651

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Day18JavaSE——Map集合&Collections工具类&集合案例练习

Day18JavaSE——Map集合&Collections工具类&集合案例练习 文章目录Day18JavaSE——Map集合&Collections工具类&集合案例练习Map集合概述&特点HashMapHashMap集合功能HashMap集合遍历LinkedHashMapTreeMapHashMap和Hashtable的区别Collections(集合工具类)集合练习练习1(统计字符串中每个字符出现的次数)练习2(集合嵌套之HashMap嵌套HashMap)练习3(

adAir_liu的博客 846

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

24-08-08 JavaSE Map集合

Map与Collection并列存在。用于保存具有映射关系的数据:Key-Value(双列元素)Map 中的 key 和 value 可以是任何引用类型的数据,会封装到HashMap$Node 对象中Map 中的 value 可以重复Map 的key 可以为 null, value 也可以为null ,注意 key 为null,只能有一个,value 为null ,可以多个常用String类作为Map的 key。

2301_79291071的博客 876

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Javase 基础加强 —— 05 Map集合

本系列为笔者学习Javase的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员Java+AI智能辅助编程全套视频教程,java零基础入门到大牛一套通关》,章节分布参考视频教程,为同样学习Javase系列课程的同学们提供参考。

Celeste的博客 511

javase集合框架Map篇

参考http://xdclass.net

2301_76231794的博客 1013

JavaSE中级之集合五——Map接口

Map。

君啊君,莫等华发踏月行 467

JavaSE-Day24集合进阶双列结合Map

1.加强for循环遍历2.Iterator遍历3.foreach遍历。

学习java的大雪笙一枚 220

JavaSE-集合Map

1. 泛型能更早的发现错误,如类型转换错误2. 使用泛型,那么在编译期将会发现很多之前要在运行期发现的问题3. 代码量往往会少一些、运维成本减少4. 抽象层次上更加面向对象五、总结见:JavaSE-集合map总结.xmind六、作业。

qq_59737375的博客 875

JavaSe—Map集合

Map集合也被叫做“键值对集合”,格式;Map集合的所有键是不允许重复的,但是值可以重复,键和值是一一对应的,每一个键只能找到自己对应的值。

y3245239334的博客 1318

JavaSE Map集合

JavaSE Map集合

大雄送你走的博客 590

【JavaSE】5.集合Collection:List、Set;Map

— title: JavaSE_5.集合Collection:List、Set;Map date: 2020-11-09 20:01:08 tags: JavaSE — 泛型<> 单列集合List、Set;双列集合:Map Collection接口: list接口(ArrayList、LinkedList)、set接口(HashSet、TreeSet、LInkedSet) Map接口: HahMap(实现类)、TreeMap(实现类) ArrayLIst方法: boolean add(E .

界王拳十倍 334

javase之map集合

一.定义 1.Map集合是一个双列集合,以键值对的形式存在 2.将键和值捆绑到一起存放(Map.Entry) 3.一个映射不能包含重复的键 4.如果出现相同的键,会用新的值覆盖老的值 二.Map接口和Collection接口的不同 1.Map是双列的,Collection是单列的 2.Map集合的数据结构针对键有效, 跟值无关, 3.Collection 集合的数据结构是针对元素有效 三.常用方法...

qq_39222456的博客 218

JavaSe基础2023年2月02日学习内容 泛型、Map集合、Collections使用

泛型、Map集合、Collections使用

森森学习Java的分享 129
上一篇: JavaSE-Set集合
下一篇: JavaSE-异常
JP-Destiny
博客等级 码龄8年 34粉丝 148原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值