集合框架 - Map双列集合

news2024/9/29 14:23:31

01 概述

02 常用方法

03 遍历方式

【快捷键】:ctrl+alt+v

【说明】:Map.Entry<xx,xx>中,Entry是Map集合中的一个接口,但接口是不能创建对象的,它底层是通过使用Entry的实现类对象来封装键值对数据的。

【说明】:底层其实还是使用的键值对的方式。

【Map集合的应用场景】:需要存储一一对应的数据是,可以考虑使用Map集合来做。

04 HashMap

【说明】:计算位置时会根据键的哈希值来算的。

05 LinkedHashMap

06 TreeMap

07 集合的嵌套

08 Stream

08_01 简介

【1】概念:Stream也叫Stream流,是JDK8开始新增的一套API,可用于操作集合或数组的数据。

【2】优势:Stream流大量的结合了Lambda的语法风格来编程,提供了一种更加强大,更加简单的方式操作集合或数组中的数据,使得代码更简洁,可读性更好。

【3】Stream流的使用步骤:

   ① 根据数据源(集合,数组)获取Stream流对象,相当于获取一条流水线。

   ② 根据Stream流提供的中间方法,对流水线中的数据进行处理,例如:过滤,排序,去重 ...

     (中间方法支持链式编程)

   ③ 对结果数据进行处理,例如:遍历,统计,收集 ...

08_02 获取Stream流

【1】说明:Stream是一个泛型接口,不能直接实例化对象,它需要与数据源进行连接,因此Stream流对象通常需要通过数据源来获取Stream流对象。

【2】Collection集合数据源获取Stream流:集合变量名.stream(),注意此法只有Collection系列接口才能使用!

         Map集合数据源获取Stream流

         ① 使用keySet方法/values方法分别获取存放键的Set集合/存放值的Collection集合,然后使用stream方法分别得到键的流/值的流

         ② Map集合的对象调用entrySet方法,得到存放键值对的Set集合,然后使用stream方法得到Stream流对象。

【3】数组数据源获取Stream流:

   ① 通过Arrays工具类获取:Arrays.stream()

   ② Stream流自己有一个静态方法:Stream.of(T...values),of方法的参数是可变参数

08_03 Stream流常见的中间方法

【1】解释:中间方法指的是调用完成后会返回新的Stream流,可以继续支持链式编程。

  ① filter筛选的意思,"总裁非要她筛选干净再喝"

  ② 如果Stream流中的数据是自定义类型的,那么在排序时需要指定根据什么排序

  ③ distinct有区别的,明显的,"第四听课肯定明显/有区别的与前三名听课效率不一样"

       如果Stream流中的数据是自定义类型的,对自定义类型的对象进行去重,要重写hashCode和equals方法

  ④ map方法用于重置流中的数据,例如把Stream流中的数据替换成对象中的某个成员。

  ⑤ concat方法是Stream流的静态方法,可以合并两个流,注意!不是合并两个集合/数组。

       <>中如果合并的两个流中的数据是不同类型的,就写成Object

08_04 Stream流常见的终结方法

① count方法的返回值要用long类型的变量进行接收。

② max,min方法可以求最大值,最小值,但是前提你得为它指定根据什么比较,

    max,min这两个方法返回的类型是Optional所以我们一般在使用完max,min方法后还会再调用一个get方法,

    get方法返回的才是流中的对象

【1】如何收集Stream流处理后的数据:

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

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

相关文章

Transformer架构分析

1 encoder 每个称之为一个layer&#xff0c;重复N次 每个里面有两个sublayer&#xff1b;multi-head self-attention MLP后面使用layer normalization LayerNorm(x Sublayer(x)) 残差连接需要两个维度一致&#xff0c;本文采用513。 2 decoder 3 注意力机制 输出维度和val…

华为OD机试 - 匿名信(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

测试管理新增视图与高级搜索功能,测试计划支持一键生成缺陷详情,MeterSphere开源持续测试工具v3.3版本发布

2024年9月29日&#xff0c;MeterSphere开源持续测试工具正式发布v3.3版本。 在这一版本中&#xff0c;接口测试方面&#xff0c;接口导入功能支持导入Postman、JMX、HAR和MeterSphere格式的文件&#xff0c;接口场景的自定义请求步骤支持cURL快捷导入&#xff1b;测试管理方面…

大数据实时数仓Hologres(一):Hologres 简单介绍

文章目录 Hologres 简单介绍 一、什么是实时数仓 Hologres 二、产品优势 1、专注实时场景 2、亚秒级交互式分析 3、统一数据服务出口 4、开放生态 5、MaxCompute查询加速 6、计算存储分离架构 三、应用场景 搭建实时数仓 四、产品架构 1、Shared Disk/Storage &am…

sql注入工具升级:自动化时间盲注、布尔盲注

项目地址&#xff1a;https://github.com/iamnotamaster/sql-injecter 给我之前写的sql注入脚本进行了一些升级&#xff0c;此文章就是对升级内容的分析&#xff0c;升级内容如下&#xff1a; 使用占位符foo来填充payload里需要经常修改的部分 自动判断循环 支持爆破和二分查…

UE4_Niagara基础实例—6、蓝图与粒子系统的通信

效果图&#xff1a; 分析&#xff1a; 通过键盘按键来修改粒子系统粒子的大小。 步骤&#xff1a; 1、粒子系统使用上一个实例的粒子系统&#xff0c;大体参数如下&#xff1a; 参数都是乱调的&#xff0c;自己可以随意设置&#xff0c;只注重方法而不在意好看&#xff0c;汗…

求5X5的次小值/次大值

我们知道&#xff0c;求最大值和最小值是比较容易的&#xff0c;就是通过分组判断&#xff0c;然后再次比较即可求出&#xff0c;那么求出次小值/次大值怎么实现呢&#xff0c;本文提供一个设计的思路。 以5x5为例&#xff0c;求出次小值&#xff0c; 第一步&#xff0c;先分…

H5 随机身份证号码、社会统一信用代码、手机号、名字、银行卡号码

平时注册可能会用到这些&#xff0c;原本用自己服务器搭了个&#xff0c;感觉纯前端的还能引入到项目中挺好的&#xff0c;之后再追加一些常用的随机数据&#xff0c;这样写表单应该就会好测试了(●’◡’●)。 在线链接 https://linyisonger.github.io/H5.Examples/?name./07…

华为OD机试 - 箱子之字形摆放(Python/JS/C/C++ 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试真题&#xff08;Python/JS/C/C&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加入华为OD刷题交流群&#xff0c;…

【vue3】防抖与节流

1.防抖 &#xff08;多次触发 只执行最后一次&#xff09; 作用&#xff1a; 高频率触发的事件,在指定的单位时间内&#xff0c;只响应最后一次&#xff0c;如果在指定的时间内再次触发&#xff0c;则重新计算时间防抖类似于英雄联盟回城6秒&#xff0c;如果回城中被打断&…

基于Next.js和TailwindCss的TailwindCss

最近在研究 Next.js 和 TailwindCss &#xff0c;这两天没事的时候就搞了一个 c。 目前工具部署在 Vercel &#xff0c;欢迎各位体验&#xff08;能提出意见更好嘿嘿&#xff09; 体验地址&#xff1a; https://icon.999872.xyz/ 图片预览 &#x1f447;

DRF实操学习——商城

DRF实操学习——商城 1. 商城模型的设计2. 优化商品分类表1. 序列化器和查询集的优化2. 得到指定类目的所有商品 商品表1. 视图的基础权限等配置2. 增加上传商品图片的接口3. 优选商品接口 分析&#xff1a; 商品分类表商品表商品图片表&#xff1a;一个商品有多张图片 1. 商城…

(undone) MIT6.824 Lab1

参考&#xff1a;http://nil.csail.mit.edu/6.824/2021/labs/lab-mr.html task1: 熟悉讲义&#xff0c;尤其是搞明白如何运行测试程序(完成) ------------------------------------------------ start 先看 Introduction 我们的目标&#xff1a;构建一个MapReduce系统。 细节&…

数据结构_2.2、顺序表插入删除查找

1、线性表的顺序存储表示定义&#xff1a; 线性表&#xff1a;是具有相同数据类型的n &#xff08;n≥0&#xff09;个数据元素的有限序列 顺序表&#xff1a;用顺序存储的方式实现线性表 顺序存储&#xff1a;把逻辑上相邻的元素存储在物理 位置上也相邻的存储单元中&#…

前端大模型入门:实战篇之Vue3+Antdv+transformers+本地模型实现增强搜索

本文将之前的文章&#xff0c;实现一个场景的实战应用&#xff0c;包含代码等内容。利用纯前端实现增强的列表搜索&#xff0c;抛弃字符串匹配&#xff0c;目标是使用番茄关键字可以搜索到西红柿 1 准备工作 1.1 了解llm和web开发 web端的ai开发参考 前端大模型入门&#xff…

MPI程序实例:数值积分(π值计算)

目录 一、算法介绍 二、代码实现 一、算法介绍 本程序实例通过下面的公司计算定积分的近似值&#xff1a; (1) 其中为积分区间数&#xff0c;为积分步长&#xff0c;为积分区间的中点&#xff0c;被积函数。 假设总进程数为p&#xff08;程序中的numprocs变量&#xff09;&a…

判断JDK是否包含某个class

问题描述&#xff1a;今天遇到个问题&#xff0c;把oracle替换为openjdk&#xff0c;应用启动时&#xff0c;提示noclassdeffounderror 解决办法&#xff1a;先确认下环境里的jdk里是否包含这个class&#xff0c;进入jdk安装目录的/jre/lib&#xff0c;执行命令&#xff1a;ja…

tar命令:压缩、解压的好工具

一、命令简介 用途&#xff1a; tar​ 命令用于创建归档文件&#xff08;tarball&#xff09;&#xff0c;以及从归档文件中提取文件。 标签&#xff1a; 文件管理&#xff0c;归档。 特点&#xff1a; 归档文件可以保留原始文件和目录的层次结构&#xff0c;通常使用 .tar ​…

每日OJ题_牛客_HJ108求最小公倍数_C++_Java

目录 牛客_HJ108求最小公倍数_C_Java 题目解析 C代码 Java代码 牛客_HJ108求最小公倍数_C_Java 求最小公倍数_牛客题霸_牛客网 题目解析 A 和 B 的最小公倍数 A * B / 两者的最大公约数。最大公约数&#xff1a;辗转相除法。 C代码 #include <iostream> #includ…

C语言—顺序表(含通讯录项目)

目录 一、顺序表的概念及结构 二、顺序表的分类 &#xff08;2.1&#xff09;静态顺序表 &#xff08;2.2&#xff09;动态顺序表 三、动态顺序表的实现 &#xff08;3.1&#xff09;基本结构定义 &#xff08;3.2&#xff09;初始化和销毁 &#xff08;3.2.1&#xff0…