Java8
Java8
- (一)、双列集合
- (二)、Map集合常用api
- (三)、Map集合的遍历方式
- (四)、HashMap
- (五)、LinkedHashMap
- (六)、TreeMap
- (七)、可变参数
- (八)、Collections
- (九)、不可变集合
(一)、双列集合
特点:

(二)、Map集合常用api
map是双列集合的顶层接口,它的功能全部双列集合都能使用

put :添加/覆盖
添加数据时,如果键不存在,直接把键值对对象添加到map集合中,方法返回null
如果键存在,会把原有的键值对对象覆盖,会把被覆盖的值进行返回
remove会返回删除的值
(三)、Map集合的遍历方式
1.键找值
package day3next;import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class mapDemo {public static void main(String[] args) {//1.创建Map集合对象Map<String,String> m=new HashMap<>();//2.添加元素m.put("龙1","龙女1");m.put("龙2","龙女2");m.put("龙3","龙女3");//3.获取所有的键,把键放进单列集合Set<String> keys=m.keySet();//3.1遍历单列集合,得到每一个键for (String key:keys){System.out.println(key);//3.2利用map集合中的键获取对应的值 get方法String value=m.get(key);System.out.println(key+"="+value);}}
}
2.键值对
package day3next;import java.util.HashMap;
import java.util.Map;
import java.util.Set;public class m2 {public static void main(String[] args) {Map<String,String> m=new HashMap<>();m.put("龙1","龙女1");m.put("龙2","龙女2");m.put("龙3","龙女3");//通过键值对对象遍历//通过一个方法获取所有的键值对对象,返回一个Set集合Set<Map.Entry<String, String>> entries = m.entrySet();//遍历entries这个集合,去得到里面每一个键值对对象for (Map.Entry<String, String> entry : entries) {//利用entry 调用get方法获取键值String key= entry.getKey();String value = entry.getValue();System.out.println(key+"="+value);}}
}
3.Lambda表达式

package day3next;import java.util.HashMap;
import java.util.Map;public class m3 {public static void main(String[] args) {Map<String,String> m=new HashMap<>();m.put("龙1","龙女1");m.put("龙2","龙女2");m.put("龙3","龙女3");//Lambda表达式//底层:forEach利用第二种方式进行遍历,依次得到每一个键和值//再调用accept方法m.forEach((String key,String value)->{System.out.println(key+"="+value);});}
}
(四)、HashMap

如果键存储的是自定义对象,需要重写hashCode和equals方法
如果值存储的是自定义对象,不需要重写
(五)、LinkedHashMap

(六)、TreeMap

(七)、可变参数
用来接收多个数据
格式:属性类型…名字
底层:数组
在方法的形参中,最多写一个可变参数。并且如果有其他参数,可变参数必须写在最后
(八)、Collections
集合工具类,有很多操作集合的方法

(九)、不可变集合
只能查询,不可修改,不能添加,不能删除。
创建方法:

当获取不可变的set集合时,里面的元素必须保证唯一性,不然会报错
获取不可能的map集合,键不能重复。of方法传递的参数是有上限的,最多只能传递20个数据(10个键值对)
传多个参数,使用ofEntries
jdk10后可以使用copyof。会自动判断是不是不可变集合
相关文章:
Java8
Java8 (一)、双列集合(二)、Map集合常用api(三)、Map集合的遍历方式(四)、HashMap(五)、LinkedHashMap(六)、TreeMap(七&a…...
nn.conv1d的输入问题
Conv1d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue) in_channels(int) – 输入信号的通道。在文本分类中,即为词向量的维度out_channels(int) – 卷积产生的通道。有多少个out_channels,就需要多少个1维…...
js判断是否为null,undefined,NaN,空串或者空对象
js判断是否为null,undefined,NaN,空串或者空对象 这里写目录标题 js判断是否为null,undefined,NaN,空串或者空对象特殊值nullundefinedNaN空字符串("")空对象(…...
Java每日一练(20230501)
目录 1. 路径交叉 🌟🌟 2. 环形链表 🌟🌟 3. 被围绕的区域 🌟🌟 🌟 每日一练刷题专栏 🌟 Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏…...
从零开始学习Web自动化测试:如何使用Selenium和Python提高效率?
B站首推!2023最详细自动化测试合集,小白皆可掌握,让测试变得简单、快捷、可靠https://www.bilibili.com/video/BV1ua4y1V7Db 目录 引言: 一、了解Web自动化测试的基本概念 二、选择Web自动化测试工具 三、学习Web自动化测试的…...
fastdfs环境搭建
安装包下载路径 libfastcommon下载地址:https://github.com/happyfish100/libfastcommon/releasesFastDFS下载地址:https://github.com/happyfish100/fastdfs/releasesfastdfs-nginx-module下载地址:https://github.com/happyfish100/fastdf…...
有什么牌子台灯性价比高?性价比最高的护眼台灯
由心感叹现在的孩子真不容易,学习压力比我们小时候大太多,特别是数学,不再是简单的计算,而更多的是培养学生其他思维方式,有时候我都觉得一年级数学题是不是超纲了。我女儿现在基本上都是晚上9点30左右上床睡觉&#x…...
信息系统项目管理师 第9章 项目范围管理
1.管理基础 1.产品范围和项目范围 产品范围:某项产品、服务或成果所具有的特征和功能。根据产品需求来衡量。 项目范围:包括产品范围,是为交付具有规定特性与功能的产品、服务或成果而必须完成的工作。项目管理计划来衡量 2.管理新实践 更加注重与商业分析师一起…...
【Android入门到项目实战-- 8.2】—— 使用HTTP协议访问网络
目录 一、使用HttpURLConnection 1、使用Android的HttpURLConnection步骤 1)获取HttpURLConnection实例 2)设置HTTP请求使用的方法 3)定制HTTP请求,如连接超时、读取超时的毫秒数 4)调用getInputStream()方法获取返回的输入流 5)关闭HTTP连接 2、…...
Go官方指南(五)并发
Go 程 Go 程(goroutine)是由 Go 运行时管理的轻量级线程。 go f(x, y, z) 会启动一个新的 Go 程并执行 f(x, y, z) f, x, y 和 z 的求值发生在当前的 Go 程中,而 f 的执行发生在新的 Go 程中。 Go 程在相同的地址空间中运行,…...
VS快捷键大全 | 掌握这些快捷键,助你调试快人一步
欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…...
【刷题】203. 移除链表元素
203. 移除链表元素 一、题目描述二、示例三、实现方法1-找到前一个节点修改next指向方法2-不是val的尾插重构 总结 203. 移除链表元素 一、题目描述 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新…...
C++11学习- CPU多核与多线程、并行与并发
随着计算机编程频繁使用,关于CPU的处理性能的讨论从未停止过,由于我最近在学习多线程相关的知识,那么就来理一理CPU的核心问题。 一、线程与进程 业解释 线程是CPU调度和分配的基本单位,可以理解为CPU只看得到线程; …...
docker登录harbor、K8s拉取镜像报http: server gave HTTP response to HTTPS client
docker登录harbor、K8s拉取镜像报http: server gave HTTP response to HTTPS client 当搭建完docker私有仓库后,准备docker login http://ip:端口 登录时会包如下错误 当我们使用docker私有仓库中的镜像在K8s集群中部署应用时会包如下错误 以上错误根据报错信息可…...
Redis在linux下安装
1.下载安装包 redis官网: Download | Redis 2.解压 2.1在目录下解压压缩包 tar -zxvf redis-7.0.11.tar.gz 2.2将redis移至另一目录下并改名为redis mv redis-7.0.11 /usr/local/redis 3.编译 进入到redis目录下,make命令编译 [rootVM-24-15-centos local]# cd…...
这里有你想知道的那些卖家友好型跨境电商平台!
目前市面上的跨境电商平台千千万,想要找到那个最合适的平台其实不容易,而且合适这个定义也有很多不同标准。龙哥今天打算从其中一个标准展开,那就是对卖家的友好程度。我们要做的话可以优先选择一些对卖家友好的平台,无论是方便我…...
架构中如何建设共识
在互联网时代,我们面临着三个与沟通交流相关的重要挑战: 分布式研发:日常工作中相对隔离的微服务研发模式;沟通障碍:分散在全球或全国多地的研发团队,以及由此带来的语言、文化和沟通障碍;认知…...
力扣(LeetCode)1172. 餐盘栈(C++)
优先队列 解题思路:根据题意模拟。用数组存储无限数量的栈。重在实现 p u s h push push 和 p o p pop pop 操作。 对于 p u s h push push 操作,需要知道当前从左往右第一个空栈的下标。分两类讨论: ①所有栈都是满的,那么我…...
详细说一下DotNet Core 、DotNet5、DotNet6和DotNet7的简介和区别
.NET是一种用于构建多种应用的免费开源开发平台,可以使用多种语言,编辑器和库开发Web应用、Web API和微服务、云中的无服务器函数、云原生应用、移动应用、桌面应用、Windows WPF、Windows窗体、通用 Windows平台 (UWP)、游戏、物联网 (IoT)、机器学习、…...
基于MBD的控制系统建模与仿真软件工具集
随着新能源汽车和自动驾驶技术的快速发展,汽车电子电气架构的发展已成为汽车行业推陈出新的主要动力:车内电控系统变得越来越复杂、软件迭代周期越来越短,汽车电子软件开发和测试的质量与效率要求也越来越高。汽车电控系统的设计开发已然成为…...
复杂网络演化博弈代码:从nw小世界网络到互动创新社区知识共享研究
复杂网络演化博弈代码 nw小世界网络 复现文章 基于网络演化博弈的互动创新社区用户 知识共享行为影响因素研究 An evolutionary analysis on the effect of government policies on electric vehicle diffusion in complex network ()最近在研究一些关于复杂网络演化博弈的有趣…...
vLLM-v0.17.1在新闻聚合平台的应用:热点事件摘要生成服务
vLLM-v0.17.1在新闻聚合平台的应用:热点事件摘要生成服务 1. 技术背景与需求场景 新闻聚合平台每天需要处理海量新闻内容,如何快速生成准确、简洁的热点事件摘要成为关键挑战。传统方法依赖人工编辑或简单规则提取,效率低下且质量参差不齐。…...
NaViL-9B效果惊艳:复杂背景证件照文字识别+人像属性分析展示
NaViL-9B效果惊艳:复杂背景证件照文字识别人像属性分析展示 1. 模型能力概览 NaViL-9B作为原生多模态大语言模型,在证件照处理领域展现出惊人的能力。它不仅能够准确识别复杂背景下的文字信息,还能对人像属性进行智能分析,为证件…...
用Python手把手实现乘幂法:从理论到代码,5分钟搞定矩阵最大特征值计算
用Python手把手实现乘幂法:从理论到代码,5分钟搞定矩阵最大特征值计算 矩阵特征值计算是线性代数的核心问题之一,在机器学习、物理模拟和工程分析中无处不在。但当你面对一个实际项目时,真正需要的往往不是繁琐的数学推导…...
Linux桌面定制——快速迁移状态栏位置的终端技巧
1. 为什么需要调整状态栏位置 第一次用Unity桌面时,我就被左侧的状态栏搞得浑身难受。作为常年使用Windows的用户,总觉得状态栏就该乖乖待在屏幕底部。后来发现不少Linux新手都有类似的困扰——明明是个高效的操作系统,却因为这种小细节影响使…...
超长上下文20万字!internlm2-chat-1.8b在Ollama中的高效部署与调用详解
超长上下文20万字!internlm2-chat-1.8b在Ollama中的高效部署与调用详解 想体验一个能记住超长对话、处理20万字文档的AI助手吗?今天,我们就来聊聊如何在Ollama上快速部署和玩转InternLM2-Chat-1.8B这个“小身材、大能量”的模型。它不仅能进…...
ChatTTS离线部署实战:从模型优化到生产环境效率提升
最近在做一个需要离线语音合成的项目,用到了ChatTTS这个效果不错的模型。但直接部署原版模型时,遇到了不少头疼的问题:推理速度慢、内存占用高,在资源受限的生产环境里简直是“吞金兽”。经过一番折腾,总算摸索出一套从…...
开关电源设计实战:Buck、Boost、Buck-Boost三大拓扑公式详解与选型指南
开关电源设计实战:Buck、Boost、Buck-Boost三大拓扑公式详解与选型指南 刚入行电源设计那会儿,我最头疼的就是面对各种拓扑结构的选择。Buck、Boost、Buck-Boost这三种基础拓扑看似简单,但实际设计中总会在参数计算和器件选型上栽跟头。记得第…...
SDMatte Web化服务运维指南:supervisorctl管理与日志定位技巧
SDMatte Web化服务运维指南:supervisorctl管理与日志定位技巧 1. 服务概述与核心价值 SDMatte是一款专注于高质量图像抠图的AI模型,特别擅长处理复杂边缘和半透明物体的提取任务。该模型已经完成Web化封装,用户可以通过简单的网页操作完成专…...
施密特触发器除了整形还能干啥?聊聊它在Arduino按键消抖和信号调理里的妙用
施密特触发器在Arduino中的高阶应用:从按键消抖到信号调理的实战指南 当你在调试Arduino项目时,是否遇到过按键响应不稳定、传感器读数跳变的问题?这些看似简单的硬件问题,往往会让开发者花费大量时间在软件滤波上。实际上&#x…...
