当前位置: 首页 > news >正文

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 &#xff08;一&#xff09;、双列集合&#xff08;二&#xff09;、Map集合常用api&#xff08;三&#xff09;、Map集合的遍历方式&#xff08;四&#xff09;、HashMap&#xff08;五&#xff09;、LinkedHashMap&#xff08;六&#xff09;、TreeMap&#xff08;七&a…...

nn.conv1d的输入问题

Conv1d(in_channels, out_channels, kernel_size, stride1, padding0, dilation1, groups1, biasTrue) in_channels(int) – 输入信号的通道。在文本分类中&#xff0c;即为词向量的维度out_channels(int) – 卷积产生的通道。有多少个out_channels&#xff0c;就需要多少个1维…...

js判断是否为null,undefined,NaN,空串或者空对象

js判断是否为null&#xff0c;undefined&#xff0c;NaN&#xff0c;空串或者空对象 这里写目录标题 js判断是否为null&#xff0c;undefined&#xff0c;NaN&#xff0c;空串或者空对象特殊值nullundefinedNaN空字符串&#xff08;""&#xff09;空对象&#xff08;…...

Java每日一练(20230501)

目录 1. 路径交叉 &#x1f31f;&#x1f31f; 2. 环形链表 &#x1f31f;&#x1f31f; 3. 被围绕的区域 &#x1f31f;&#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏…...

从零开始学习Web自动化测试:如何使用Selenium和Python提高效率?

B站首推&#xff01;2023最详细自动化测试合集&#xff0c;小白皆可掌握&#xff0c;让测试变得简单、快捷、可靠https://www.bilibili.com/video/BV1ua4y1V7Db 目录 引言&#xff1a; 一、了解Web自动化测试的基本概念 二、选择Web自动化测试工具 三、学习Web自动化测试的…...

fastdfs环境搭建

安装包下载路径 libfastcommon下载地址&#xff1a;https://github.com/happyfish100/libfastcommon/releasesFastDFS下载地址&#xff1a;https://github.com/happyfish100/fastdfs/releasesfastdfs-nginx-module下载地址&#xff1a;https://github.com/happyfish100/fastdf…...

有什么牌子台灯性价比高?性价比最高的护眼台灯

由心感叹现在的孩子真不容易&#xff0c;学习压力比我们小时候大太多&#xff0c;特别是数学&#xff0c;不再是简单的计算&#xff0c;而更多的是培养学生其他思维方式&#xff0c;有时候我都觉得一年级数学题是不是超纲了。我女儿现在基本上都是晚上9点30左右上床睡觉&#x…...

信息系统项目管理师 第9章 项目范围管理

1.管理基础 1.产品范围和项目范围 产品范围:某项产品、服务或成果所具有的特征和功能。根据产品需求来衡量。 项目范围:包括产品范围&#xff0c;是为交付具有规定特性与功能的产品、服务或成果而必须完成的工作。项目管理计划来衡量 2.管理新实践 更加注重与商业分析师一起…...

【Android入门到项目实战-- 8.2】—— 使用HTTP协议访问网络

目录 一、使用HttpURLConnection 1、使用Android的HttpURLConnection步骤 1&#xff09;获取HttpURLConnection实例 2)设置HTTP请求使用的方法 3)定制HTTP请求&#xff0c;如连接超时、读取超时的毫秒数 4)调用getInputStream()方法获取返回的输入流 5)关闭HTTP连接 2、…...

Go官方指南(五)并发

Go 程 Go 程&#xff08;goroutine&#xff09;是由 Go 运行时管理的轻量级线程。 go f(x, y, z) 会启动一个新的 Go 程并执行 f(x, y, z) f, x, y 和 z 的求值发生在当前的 Go 程中&#xff0c;而 f 的执行发生在新的 Go 程中。 Go 程在相同的地址空间中运行&#xff0c…...

VS快捷键大全 | 掌握这些快捷键,助你调试快人一步

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab&#xff0c;机器人运动控制、多机器人协作&#xff0c;智能优化算法&#xff0c;滤波估计、多传感器信息融合&#xff0c;机器学习&#xff0c;人工智能等相关领域的知识和…...

【刷题】203. 移除链表元素

203. 移除链表元素 一、题目描述二、示例三、实现方法1-找到前一个节点修改next指向方法2-不是val的尾插重构 总结 203. 移除链表元素 一、题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新…...

C++11学习- CPU多核与多线程、并行与并发

随着计算机编程频繁使用&#xff0c;关于CPU的处理性能的讨论从未停止过&#xff0c;由于我最近在学习多线程相关的知识&#xff0c;那么就来理一理CPU的核心问题。 一、线程与进程 业解释 线程是CPU调度和分配的基本单位&#xff0c;可以理解为CPU只看得到线程&#xff1b; …...

docker登录harbor、K8s拉取镜像报http: server gave HTTP response to HTTPS client

docker登录harbor、K8s拉取镜像报http: server gave HTTP response to HTTPS client 当搭建完docker私有仓库后&#xff0c;准备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目录下&#xff0c;make命令编译 [rootVM-24-15-centos local]# cd…...

这里有你想知道的那些卖家友好型跨境电商平台!

目前市面上的跨境电商平台千千万&#xff0c;想要找到那个最合适的平台其实不容易&#xff0c;而且合适这个定义也有很多不同标准。龙哥今天打算从其中一个标准展开&#xff0c;那就是对卖家的友好程度。我们要做的话可以优先选择一些对卖家友好的平台&#xff0c;无论是方便我…...

架构中如何建设共识

在互联网时代&#xff0c;我们面临着三个与沟通交流相关的重要挑战&#xff1a; 分布式研发&#xff1a;日常工作中相对隔离的微服务研发模式&#xff1b;沟通障碍&#xff1a;分散在全球或全国多地的研发团队&#xff0c;以及由此带来的语言、文化和沟通障碍&#xff1b;认知…...

力扣(LeetCode)1172. 餐盘栈(C++)

优先队列 解题思路&#xff1a;根据题意模拟。用数组存储无限数量的栈。重在实现 p u s h push push 和 p o p pop pop 操作。 对于 p u s h push push 操作&#xff0c;需要知道当前从左往右第一个空栈的下标。分两类讨论&#xff1a; ①所有栈都是满的&#xff0c;那么我…...

详细说一下DotNet Core 、DotNet5、DotNet6和DotNet7的简介和区别

.NET是一种用于构建多种应用的免费开源开发平台&#xff0c;可以使用多种语言&#xff0c;编辑器和库开发Web应用、Web API和微服务、云中的无服务器函数、云原生应用、移动应用、桌面应用、Windows WPF、Windows窗体、通用 Windows平台 (UWP)、游戏、物联网 (IoT)、机器学习、…...

基于MBD的控制系统建模与仿真软件工具集

随着新能源汽车和自动驾驶技术的快速发展&#xff0c;汽车电子电气架构的发展已成为汽车行业推陈出新的主要动力&#xff1a;车内电控系统变得越来越复杂、软件迭代周期越来越短&#xff0c;汽车电子软件开发和测试的质量与效率要求也越来越高。汽车电控系统的设计开发已然成为…...

如何用VarifocalNet提升目标检测性能?从FCOS到VFNet的实战解析

从FCOS到VFNet&#xff1a;实战解析VarifocalNet如何突破目标检测性能瓶颈 目标检测领域近年来涌现出大量创新算法&#xff0c;但性能提升逐渐进入平台期。传统方法如FCOS虽然简洁高效&#xff0c;但在处理密集物体和复杂场景时仍存在明显局限。本文将深入剖析VarifocalNet(VFN…...

Cesium 视角控制全攻略:禁用鼠标交互的多种方法

1. 为什么需要禁用Cesium鼠标交互&#xff1f; 在开发基于Cesium的三维地理信息系统时&#xff0c;我们经常会遇到需要限制用户视角操作的场景。比如在展示固定路线的飞行演示时&#xff0c;如果允许用户随意旋转地图&#xff0c;可能会打乱预设的动画效果&#xff1b;在嵌入式…...

eSearch终极指南:5分钟掌握OCR屏幕工具的强大功能

eSearch终极指南&#xff1a;5分钟掌握OCR屏幕工具的强大功能 【免费下载链接】eSearch 截屏 离线OCR 搜索翻译 以图搜图 贴图 录屏 滚动截屏 Screenshot OCR search translate search for picture paste the picture on the screen screen recorder 项目地址: https://gitco…...

nli-distilroberta-base一键部署:docker run -p 5000:5000指令直达可用服务

NLI DistilRoBERTa Base - 一键部署与使用指南 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务。这个轻量级但强大的工具能够分析两个句子之间的关系&#xff0c;为文本理解任务提供智能判断能力。 核心功能是判断"前提&qu…...

YOLO X Layout实战:从扫描PDF中自动提取标题与表格的Python实现

办公室最头疼的工作之一就是处理扫描版PDF&#xff1a;不管是合同、审计报告、论文还是发票&#xff0c;扫描版的PDF都是图片&#xff0c;没法复制文本&#xff0c;要提取里面的标题、目录、表格&#xff0c;只能手动敲&#xff0c;几十页的PDF要花几个小时&#xff0c;特别浪费…...

数字边境守卫:拦截偷渡的非法算法

一、数字边境的隐喻&#xff1a;软件测试的守卫使命在数字化浪潮中&#xff0c;软件系统如同虚拟国境线&#xff0c;非法算法则似试图偷渡的入侵者。软件测试工程师正是这条边境的守卫者——通过精准的测试策略构建防御工事&#xff0c;拦截逻辑漏洞、数据泄露、恶意代码等&quo…...

ngx_create_pidfile

1 定义 ngx_create_pidfile 函数 定义在 ./nginx-1.24.0/src/core/ngx_cycle.cngx_int_t ngx_create_pidfile(ngx_str_t *name, ngx_log_t *log) {size_t len;ngx_int_t rc;ngx_uint_t create;ngx_file_t file;u_char pid[NGX_INT64_LEN 2];if (ngx_process >…...

FreeCAD+AI实战:手把手教你用CAD-Assistant自动生成3D模型(附避坑指南)

FreeCADAI实战&#xff1a;手把手教你用CAD-Assistant自动生成3D模型&#xff08;附避坑指南&#xff09; 在传统CAD设计流程中&#xff0c;从手绘草图到可编辑的3D模型往往需要经历繁琐的描线、约束添加和参数调整。CAD-Assistant的出现彻底改变了这一局面——这款基于工具增强…...

毕设程序java基于的动漫分析与交流平台 基于Spring Boot的二次元文化社区与作品分享系统 Java驱动的ACG内容聚合与互动服务平台

毕设程序java基于的动漫分析与交流平台31sl5luf&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网技术的飞速发展和Z世代文化消费的崛起&#xff0c;动漫产业已从边缘亚文…...

如何在10分钟内掌握SASM:终极汇编语言开发环境完整指南

如何在10分钟内掌握SASM&#xff1a;终极汇编语言开发环境完整指南 【免费下载链接】SASM SASM - simple crossplatform IDE for NASM, MASM, GAS and FASM assembly languages 项目地址: https://gitcode.com/gh_mirrors/sa/SASM SASM&#xff08;SimpleASM&#xff09…...