Java进阶:【集合】Map接口

Java集合进阶 在Java中,集合框架(Collections Framework)是用于存储和操作一组对象的强大工具。它提供了多种接口和类,用于处理不同类型的集合(如列表、集合、队列、映射等)。为了帮助你学习Java集合的进阶知识,我将从以下几个方面进行讲解:Java集合框架主要包括以下接口和类:: 所有集合类的根接口。: 有序集合,允许重复元素(如 , )。: 无序集合,不允许重复元素(如 , )。: 队列,支持先进先出(FIFO)或优先级队列(如 )。: 键值对集合(如 , )。: 基于动态数组实现的列表。: 基于双 阅读详情

Map接口

​ 无序,唯一

HashMap

特点:无序。唯一,

特点是按照key进行总结的,因为底层key寻找哈希表的结构(数组+链表)

哈希表原理:如放入这个集合数据的对应的类,必须重写HashCode和equals这两个方法,否则结果就不符合唯一,无序的特点

  • 添加:put(K key, V value), putAll(Map<? extends K,? extends V> m)
  • 修改:
  • 删除:clear(),remove(Object key)
  • 查看:entrySet(), keySet(),size(),values()
  • 判断: containsKey(Object key), containsValue(Object value), equals(Object o), get(Object key),isEmpty()
    public static void main(String[] args) {
    /*
    * 添加:put(K key, V value),  putAll(Map<? extends K,? extends V> m)
    * 修改:
    * 删除:clear(),remove(Object key)
    * 查看:entrySet(),   keySet(),size(),values()
    * 判断:  containsKey(Object key),   containsValue(Object value),   equals(Object o),  get(Object key),isEmpty()
    * */
//        思考为什么键值对,键的值是一样的,但是value缺是第一个的值
        HashMap<String,Integer> map = new HashMap<>();
        map.put("lili",123123);
        System.out.println(map.put("nana", 12345));
        map.put("feifei",34567);
        System.out.println(map.put("nana", 123123));
//        清空方法
//        map.clear();
//        map.remove("feifei");按照key移除
        System.out.println(map.size());
        System.out.println(map);

        System.out.println(map.containsKey("lili"));
        System.out.println(map.containsValue(123123));
        HashMap<String,Integer> map2 = new HashMap<>();
        map.put("lili",123123);
        System.out.println(map.put("nana", 12345));
        map.put("feifei",34567);
        System.out.println(map.put("nana", 123123));

        System.out.println(map==map2);
        System.out.println(map.equals(map2));//底层重写了equals比较集合中的值是否一致

        System.out.println("判断是否为空"+map.isEmpty());

        System.out.println(map.get("nana"));

        System.out.println(map.keySet());//查看集合中所有的k
        System.out.println(map.values());//查看集合中所有的v

        //通过k来遍历出v
        Set<String> set = map.keySet();
        for (String s : set) {
            System.out.print(map.get(s)+" ");
        }
        System.out.println();
        //entrySet 得到的是一对数据
        Set<Map.Entry<String, Integer>> entrySet = map.entrySet();
        for (Map.Entry<String, Integer> entry : entrySet) {
            System.out.println(entry);
        }
    }

HashMap和Hashtable

HashMap是1.2开始的,效率高,线程不安全 Key可以是空值,并且null值也遵照唯一特点

Hashtable是1.0开始的,效率低,效率安全,对于Hashtable的key不能为null值

如果我想按照加入顺序来输出,我们可以有一个LinkedHashMap

LinkedHashMap

特点,唯一,有序,按照输入顺序输出

小结

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NKBW8Kir-1637924963694)(javaSE.assets/image-20210705103514104.png)]

java基础之集合框架--Collection及Map顶级接口 java基础之集合框架–Collection及Map顶级接口前两天,参加了百度的面试,面试内容基本都是基础知识,好多问题没有答好,所以定个小目标,在年前争取把java主流的基础知识都巩固一遍;那就以使用最频繁的集合框架开始。Collection及Map类图collection类图可以看出来,Collection下的子接口有三个分别为Set,List,Queue,其中Set为无序的且不可重复的集合,L 阅读详情

相关推荐

Java集合Connection接口和Map接口

一、宏观看Java集合 Java集合就像一个容器,可以存储任何类型的数据,也可以结合泛型来存储具体的类型对象。在程序运行时,Java集合可以动态的进行扩展,随着元素的增加而扩大。在Java中,集合类通常存在于java.util包中。 Java集合主要由2大体系构成,分别是Collection体系和Map体系,其中Collection和Map分别是2大体系中的顶层接口。 Collection主要有...

肉丸不肉 1142

JAVA 集合框架进阶:Map 接口的深度解析与实战

本文深入解析Java集合框架中的Map接口,重点讲解HashMap、LinkedHashMap和TreeMap的实现原理与使用场景。Map接口通过键值对(Key-Value)存储数据,Key具有唯一性。文章详细介绍了Map的核心方法、三种遍历方式,并指出entrySet遍历效率最高。针对HashMap,剖析了JDK8中的"数组+链表+红黑树"底层结构,解释了哈希冲突处理机制和扩容原理。通过代码示例演示了HashMap的基本操作,并强调自定义对象作为Key时必须重写hashCode()和e

今天比昨天更努力一点! 3万+

Java集合框架之Map接口

Map接口是Java集合框架中的一个顶级接口,它提供了存储键值对的方法。与Set接口不同,Map接口允许存储重复的值,但键必须是唯一的。如果尝试使用重复的键向Map中添加元素,则新值将覆盖旧值。键值对存储:Map接口中的元素以键值对的形式存储,每个键都映射到一个值。键唯一性:Map接口中的键必须是唯一的,不允许有重复的键。无序性:默认情况下,Map接口中的键值对没有特定的顺序。然而,某些Map实现类(如TreeMap)可以维护键值对的排序。

Java&AI小吕布的博客 982

【进阶篇-Day11:JAVA中HashSet集合、LinkedHashSet集合、Collections集合工具类、Map接口及遍历方式等的介绍】

*** HashSet的基本使用* 特点:去重* 遍历:迭代器、增强for、foreach方法//1、String类型会默认去重 HashSet < String > hs = new HashSet < >();HashSet;/*** HashSet的基本使用* 特点:去重* 遍历:迭代器、增强for、foreach方法*///1、String类型会默认去重/*** HashSet的基本使用* 特点:去重。

Ma Sizhou 1143

基于FPGA的TDC延迟链优化与码密度校准方法(1)——原理与实现

本文深入探讨了基于FPGA的时间数字转换器(TDC)延迟链非均匀性问题及其码密度校准方法。通过分析工艺偏差、温度电压影响等根源,详细介绍了码密度测试原理、逐位校准技术及气泡消除算法,并分享了自适应校准策略与多场景应用实践,有效提升TDC测量精度至皮秒级。

kiwi8的博客 488

关键词‖旋变传感器

旋转变压器(以下简称旋变)安装在永磁同步驱动电机的非传动端,其作用是检测转子的位置和速度。目前,通常采采用结构简单、坚固耐用、环境适应性好的磁阻式旋变作为位置传感器。

m0_72345077的博客 2144

【02】Java进阶:08-Collections类、Set接口、Map集合、集合的嵌套、模拟斗地主洗牌发牌

day08【Collections、Set、Map、斗地主排序】 今日内容 Collections工具类 Set集合------>重点 Map集合---->重点 练习 教学目标 能够使用集合工具类 能够使用Comparator比较器进行排序 能够使用可变参数 能够说出Set集合的特点 能够说出哈希表的特点 使用HashSet集合存储自定义元素 能够说出Map集合特点 使用Map集合添加方法保存数据 使用”键找值”的方式遍历Map集合 使用”键值对”的方式遍历Map集合

忘尘丶莫负的博客 354

从机械臂示教到厨房做饭:ACT模仿学习如何让机器人更“人性化”?

本文探讨了ACT(Action Chunking with Transformers)模仿学习技术如何让机器人更“人性化”,特别是在厨房等复杂场景中的应用。通过动作分块(Action Chunking)和时态融合(Temporal Ensemble)技术,机器人能够像人类一样记忆和执行复杂任务,如烹饪。文章还分析了ACT在家庭场景中的落地挑战及其在康复医疗、柔性制造等领域的跨领域应用潜力。

weixin_30613343的博客 255

Java Map接口深度解析:HashMap实战、TreeMap与Map进阶、集合工具类与泛型进阶

Map(映射)是Java集合框架中用于存储键值对(Key-Value)的数据结构接口。与Collection接口不同,Map中的每个元素都包含一个键和一个值,键是唯一的,值可以重复。

yexianglunbai的博客 231

UE4虚拟现实实习总结---蓝图中的常用交互事件|人物行走|物体移动|动态触发|材质改变

这周是ue4实习周,老师给我们的任务就是基于中学物理和化学实验的虚拟实验室,要有交互事件,后期可以链接vr手柄进行操作。 但是实习开始老师影都没了,全靠自己学习。感觉自己学习了不少东西,这里就来总结一下!顺便感叹一下,ue4好玩又强大! 以下主要介绍蓝图中的几种交互事件1.新建游戏角色并且进行角色行走旋转,2.如何控制物体移动旋转,3.如何控制物体材质动态变化 大家可以举一反三,作出更好的作品 1.新建游戏角色并且进行角色行走旋转 步骤 在刚刚新建的文件夹中鼠标右击新建蓝图类,然后分别创建以下:chara

weixin_43902063的博客 6120

以太网PHY寄存器

并且,值得注意的是,由于目前很多百兆的PHY芯片其MAC接口主流的都是SMII/S3MII,8个端口的接口是相互关联的,一个端口设置Isolate可能会影响其他端口的正常使用,因此在使用中注意不要随意更改bit10的状态。Bit10和bit11的区别是,bit11的配置在强制情况下生效,PHY只能工做与bit11指定的工作模式,而bit10的配置在非强制配置情况下生效,仅仅控制PHY在AN时候的优先级,偏向于Maser或者Slave,但是最终的工作模式看协商的结果,不一定和优先级配置的结果一致。

mangofu的博客 292

Java集合04:Set接口 & Map接口

关于java.util.Set接口(单个方式存储元素) 一、HashSet集合 HashSet集合是非线程安全的。 HashSet集合存储元素的特点:无序不可重复。 ——无序:存进去的顺序和取出来的顺序不一定相同。 ——不可重复:存进去一个1,不能再存进去一个1。 放到HashSet集合中的元素实际上是放到HashMap集合中的key部分,底层是哈希表。 二、TreeSet集合 TreeSet集合存储元素的特点:无序不可重复的,储存的元素是可以自动按照大小顺序排序的。 ——无序:存进去的顺序

耳东er的博客 204

PT:pt write_change to innovus 脚本

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 1525

Java 集合(三)——Map 集合

一、前言 集合按照其存储结构可以分为两大类,分别是单列集合 java.util.Collection 和双列集合 java.util.Map,单列集合我们在 Java 集合(一) 和 Java 集合(二)中已经讲了,今天我们来讲双列集合 Map 和一个综合案例。 二、Map 集合 2.1、Map 集合概述 现实生活中,我们常会看到这样的一种集合:学生与学号,身份证号与个人,这种一一对应的关系,就叫做映射。Java 提供了专门的集合类用来存放这种对象关系,即 java.util.Map 接口。我们来看一下

weixin_38478780的博客 368

015:机载三维激光扫描技术相关知识

机载三维激光扫描系统(LiDAR)是集激光、GPS、INS等尖端技术于一体的三维航空遥感技术,能高效准确获取地表三维信息。该系统由GPS、INS、激光扫描测距系统、成像装置和工作平台组成,各部件协同工作以获取精确的空间定位、运动状态、地表三维坐标及真实色彩信息。通过制定飞行计划、安置GPS基站、激光扫描测量、惯性测量及获取高清数码影像等步骤,机载LiDAR技术能实时获取大范围高精度三维数据。该技术具有扫描速度快、精度高、全数字特征等优势,广泛应用于测绘、工程、环境监测和城市建设等领域,如城市三维模型重建、灾

qq_31762031的博客 1725

如何调用 DBMS_DISKGROUP 对 ASM 文件进行随机读取

该篇博客介绍了如何通过 Java 调用 DBMS_DISKGROUP 读写 Oracle ASM 共享存储文件,并提供了 Java Demo。并测试出 DBMS_DISKGROUP 存在性能瓶颈。

我要出家当道士 1178

Java集合进阶下

Java集合进阶下-- Map集合、可变参数、Collections、不可变集合

sinat_42833809的博客 115

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【JavaSE系列】Java集合框架之Collection,Map接口

本篇文章带大家认识Java基础知识——集合框架,从本篇文章开始正式拉开数据结构的序幕,要深入了解一件事,那必然先得见个面,本文带大家认识Java集合框长什么样,以及怎么使用Collection和Map接口。

未见花闻的博客 1831

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Java 集合框架:Map 接口

本文系统介绍了Java中的Map接口及其核心特性。文章详细解析了Map的子接口(SortedMap、ConcurrentMap)和实现类(HashMap、TreeMap等),阐述了三种集合视图(keySet、values、entrySet)的访问方式。同时,讲解了不可修改Map的创建方法,以及put、remove、get等基础操作方法,并提供了多种遍历Map的方式(增强for循环、迭代器、forEach、entrySet)。最后,还介绍了replace方法的使用场景。

Java孩子的博客 1146

Map集合超详细讲解【从基础到进阶】

宝子们,今天我来给你们讲讲 Java 里超重要的 Map 集合。这玩意儿在编程里可太常用了,就像家里的万能工具箱,啥都能装,啥都能找,学会了它,写代码都能更顺溜!

潜意识Java的博客 3927

蹊源的Java笔记—集合之Map接口

溪源的Java笔记—集合之Map接口 前言 集合可以说Java最重要的数据结构了,在上期博客溪源我简单对Collection接口一些整理,这期博客会对另一个集合类接口—Map接口常见的知识点做了简单地整理。 集合之Collection接口可参考我的博客:溪源的Java笔记—集合之Collection接口 正文 集合类 集合类有两个接口组成:Collection和Map Map接口 Map接口有三个实现类分别是: HashMap:HashMap实现了Map接口,继承AbstractMap,它是基于哈希表(

蹊源的奇思妙想的博客 4700

Java集合---Collection接口和Map接口

Java集合框架主要分为三大类:Collection接口 - 存储单个元素的集合Map接口 - 存储键值对的集合队列 - 特殊的集合类型。

m0_74230209的博客 1158

Java集合框架之Map接口详解

本文深入解析Java中Map接口的核心特性、常用方法及实现类,涵盖HashMap、TreeMap、LinkedHashMap的使用场景与性能对比,通过代码示例演示键值对操作、集合遍历及不可变Map的创建,助你掌握高效数据管理与操作技巧

m0_73941339的博客 989

Java集合之Map集合详解

Map,HashMap集合,Map遍历,LinkedHashMap,集合中的基本方法,Map集合详解

m0_62729850的博客 2461

Java进阶之双列集合Map接口下的通用方法

摘要:Java中的Map接口是处理键值对集合的核心工具,具有键唯一、值可重复、多数实现无序的特点。它提供put()/get()等基础方法实现增删查改操作,支持通过keySet()/values()/entrySet()三种方式遍历元素。HashMap是常用的无序实现,LinkedHashMap和TreeMap则提供有序支持。Map在Java集合框架中占据重要地位,广泛应用于数据存储和快速查找场景。

freed_Day的博客 590
上一篇: Java进阶:【集合】set接口
下一篇: Java进阶:【集合】HashMap原理简单理解
冷环渊
博客等级 码龄7年 1130粉丝 176原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷环渊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值