学习JAVA的第十六天(基础)

目录

双列集合

Map双列集合 

遍历方式

键找值

键值对

  Lambda表达式

HashMap集合

LinkedHashMap集合

TreeMap集合

可变参数


 

           前言:学习JAVA的第十五天(基础)-CSDN博客

双列集合

特点:

                        双列集合一次需要存放一对数据,分别为键和值

                        键不能重复,值可以重复

                        键和值是一一对应的,每个键只能找到自己对应的值

                        键和值被称为键值对,java中叫Entry对象

Map双列集合 

                map是双列集合的顶层接口,它的功能是双列集合都可以继承使用

方法:

方法名说明
V put(k  key, V value)添加元素
V remove(Object key)根据键删除键值对元素
void clear()移除所有键值对元素
boolean  containsKey(Object key)判断集合是否包含指定的键
boolean  containsValue(Object value)判断集合是否包含指定的值
boolean  isEmpty()判断集合是否为空
int  size()判断集合的长度,键值对的个数

测试类

 public static void main(String[] args) {//创建Map集合对象Map<String,String>  m = new HashMap<>();//添加元素 覆盖相同键的值m.put("zzz","vvv");System.out.print(m);//{zzz=vvv}//删除元素m.put("aaa","ccc");m.remove("zzz");System.out.println(m);//{aaa=ccc}//清空m.clear();System.out.println(m);//{}//判断是否包含m.put("aaa","bbb");boolean result1 = m.containsKey("aaa");boolean result2 = m.containsKey("bbb");System.out.println(result1);//trueSystem.out.println(result2);//false}

遍历方式

①键找值

②键值对

③Lambda表达式

键找值
 public static void main(String[] args) {//创建map集合的实现类Map<String,String> m = new HashMap<>();//添加元素m.put("aaa","ccc");m.put("bbb","ddd");m.put("ccc","eee");//键找值Set<String> keys = m.keySet();//遍历单列集合for (String key : keys) {
//            System.out.println(key);String value = m.get(key);System.out.println(key+"="+value);}}
键值对
 public static void main(String[] args) {//创建Map集合的实现类Map<String,String> m = new HashMap<>();//添加元素m.put("red","m");m.put("blue","z");m.put("green","x");//键值对Set<Map.Entry<String,String>> s = m.entrySet();//遍历键值对对象for (Map.Entry<String, String> Entry : s) {System.out.println(Entry.getKey()+"="+Entry.getValue());}}
  Lambda表达式
  public static void main(String[] args) {//创建Map对象Map<String,String> m = new HashMap<>();//添加元素m.put("aaa","ccc");m.put("bbb","ddd");m.put("ccc","eee");//利用Lambda表达式遍历m.forEach((key,value)->System.out.println(key+"="+value));}

HashMap集合

                        HashMap是Map里面的实现类

底层:和HashSet一样,数据结构都是哈希表 

哈希值:利用计算哈希值

                哈希值一样,值也一样,后面添加的会覆盖前面的

由键决定特点:无序,无索引,不重复

LinkedHashMap集合

由键决定特点:有序,不重复,无索引

底层:利用哈希表数据结构,但有双链表的机制记录键值对元素存储的顺序

TreeMap集合

                TreeMapTreeSet一样,底层都是红黑树结构

由键决定特点:可排序,不重复,无索引

可变参数

本质:就是一个数组

作用:形参可以接受多个不定的数据

格式:数据类型...变量名

 注意:

           在形参列表中,可变参数只能有一个

           可变参数必须放在形参列表最后面

 

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

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

相关文章

回溯算法07-子集(Java/子集问题)

.子集 题目描述 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[…

ChatGPT高效提问——说明提示技巧

ChatGPT高效提问——说明提示技巧 现在&#xff0c;让我们开始体验“说明提示技巧”&#xff08;IPT, Instructions Prompt Technique&#xff09;和如何用它生成来自ChatGPT的高质量的文本。说明提示技巧是一个通过向ChatGPT提供需要依据的具体的模型的说明来指导ChatGPT输出…

不伤耳朵的蓝牙耳机推荐,骨传导耳机选购前必知的几大要点

在目前的蓝牙耳机市场上&#xff0c;骨传导蓝牙耳机以其独特的设计和不伤耳朵的好处而受到广泛关注。骨传导蓝牙耳机通过骨头传导声音&#xff0c;无需进入耳道&#xff0c;从而减少了耳朵的不适和潜在伤害。 骨传导蓝牙耳机这种开放式的设计允许用户在享受音乐的同时&#xf…

lvs+keepalive

虚拟路由冗余协议(Virtual Router Redundancy Protocol&#xff0c;简称VRRP) VRRP能够在不改变组网的情况下&#xff0c;将多台路由器虚拟成一个虚拟路由器&#xff0c;通过配置虚拟路由器的IP地址为默认网关&#xff0c;实现网关的备份。 协议版本: VRRPv2&#xff08;常用&…

【GStreamer】basic-tutorial-4:媒体播放状态、跳转seek操作

【目录】郭老二博文之:图像视频汇总 1、示例注释 #include <gst/gst.h>typedef struct _CustomData {GstElement *playbin; /* 本例只有一个元素*/gboolean playing; /* 是否处于播放状态? */gboolean terminate;

【DevOps】4大API网关压力性能测试

【DevOps】4大API网关压力性能测试 作为DevOps服务的研发和服务提供者,我们经常会面对不同客户不同规模的需求,包括人员的激增,不同开发部署阶段的流量保证等等。 最最开始的时候,我们提供了一键安装 部署本地的单体式的SaaS软件服务,而随着时间技术的发展,我们研发和增…

双碳目标下DNDC模型建模方法及在土壤碳储量、温室气体排放、农田减排、土地变化、气候变化中的应用

由于全球变暖、大气中温室气体浓度逐年增加等问题的出现&#xff0c;“双碳”行动特别是碳中和已经在世界范围形成广泛影响。国家领导人在多次重要会议上讲到&#xff0c;要把“双碳”纳入经济社会发展和生态文明建设整体布局。同时&#xff0c;提到要把减污降碳协同增效作为促…

一文掌握:电力管理系统该的功能和界面设计

一、什么电力管理系统 电力管理系统是一个用于监控、控制和优化电力系统运行的软件系统。它集成了实时数据采集、数据分析、决策支持和远程控制等功能&#xff0c;旨在提高电力系统的运行效率、可靠性和安全性。 电力管理系统是一个集成了数据采集、监控、分析和控制等功能的软…

vue面试--9, 1 ObjectProperty与vue3Proxy区别。2 MVVM的理解 3 双向绑定原理?

1 ObjectProperty与vue3Proxy区别 2 MVVM的理解 3 双向绑定原理&#xff1f;

chatgpt说关于web我还要学习的内容

根据你之前的问题&#xff0c;我建议你可能需要补充以下几个方面的课程&#xff1a; 1. Web开发基础 学习HTML、CSS和JavaScript的基础&#xff0c;理解创建静态网页和实现基本动态交互的方法。 2. 服务器端编程 深入了解服务器端编程语言和框架&#xff0c;如Java&#xf…

如何在小程序中绑定身份证

在小程序中绑定身份证信息是一项常见的需求&#xff0c;特别是在需要进行实名认证或者身份验证的场景下。通过绑定身份证信息&#xff0c;可以提高用户身份的真实性和安全性&#xff0c;同时也为小程序提供了更多的个性化服务和功能。下面就介绍一下怎么在小程序中绑定居民身份…

Unity性能优化篇(四) GPU Instancing

使用GPU Instancing可以在一个Draw Call中同时渲染多个相同或类似的物体&#xff0c;从而减少CPU和GPU的开销。 官方文档&#xff1a;https://docs.unity3d.com/Manual/GPUInstancing.html 启用GPU Instancing&#xff0c;我们可以选中一个材质&#xff0c;然后在Inspector窗口…

Java EE之线程安全问题

一.啥是线程安全问题 有些代码&#xff0c;在单个线程执行时完全正确&#xff0c;但同样的代码让多个线程同时执行&#xff0c;就会出现bug。例如以下代码&#xff1a; 给定一个变量count&#xff0c;让线程t1 t2分别自增5000次&#xff0c;然后进行打印&#xff0c;按理说co…

如何将中科方德桌面操作系统加入Windows域

往期文章&#xff1a;自定义SSH客户端连接时的显示信息 | 统信UOS | 麒麟KYLINOS Hello&#xff0c;大家好啊&#xff0c;今天我非常高兴地给大家带来一篇关于如何将中科方德桌面操作系统加入Windows域的教程文章。对于使用中科方德桌面操作系统的用户来说&#xff0c;将其加入…

【力扣每日一题】力扣2917找出数组中的kor值

题目来源 力扣2917找出数组中的kor值 题目概述 给你一个下标从 0 开始的整数数组 nums 和一个整数** **k 。 nums 中的 K-or 是一个满足以下条件的非负整数&#xff1a; 只有在 nums 中&#xff0c;至少存在 k 个元素的第 i 位值为 1 &#xff0c;那么K-or 中的第 i 位的值…

记一次简单的获取虚拟机|伪终端shell权限

场景描述 某个系统是ova文件&#xff0c;导入虚拟机启动&#xff0c;但是启动后只有一个伪终端权限&#xff0c;即权限很小&#xff0c;如何拿到这个虚拟机的shell权限呢&#xff1f; 实际操作 这次运气比较好&#xff0c;所遇到的系统磁盘并没有被加密&#xff0c;所以直接…

Java中String类型的变量为什么是不可变的

想相信很多小伙伴在学Java的时候都学到了&#xff1a;Java中的字符串即 String 变量是不可变的&#xff0c;但是为什么呢&#xff1f;我们看 String 的源码&#xff1a; 通过源码可以看到&#xff0c;其实 String 类型的变量&#xff0c;内部是一个 byte 数组 value&#xff0c…

GCN 翻译 - 2

2 FAST APROXIMATE CONVOLUTIONS ON GRAPHS 在这一章节&#xff0c;我们为这种特殊的的图基础的神经网络模型f(X, A)提供理论上的支持。我们考虑一个多层的图卷积网络&#xff08;GCN&#xff09;&#xff0c;它通过以下方式进行层间的传播&#xff1a; 这里&#xff0c;是无…

Mac 安装JDK,并通过命令切换不同版本jdk

mac电脑安装了jdk8、jdk11、jdk21 三个版本的jdk&#xff0c;在环境变量中配置命令&#xff0c;动态切换不同jdk 1.下载JDK&#xff0c;Mac建议下载xxxxx/jdk-21_macos-x64_bin.dmg https://download.oracle.com/java/21/latest/jdk-21_macos-x64_bin.dmg&#xff0c; 2.双击安…

SAR ADC学习笔记(4)

CDAC电容阵列 一、电容失配 二、电容失配对CDAC线性度的影响 1.电容失配对DNL的影响 2.电容失配对INL的影响 三、分段结构的CDAC 四、CDAC开关切换方案&#xff1a;传统开关切换策略 第一次比较阶段&#xff1a;如果VP(1)-VN(1)<0 第一次比较阶段&#xff1a;如果VP(1)-VN…