高端网站建设谷美成都企业管理培训

news/2025/9/23 12:42:29/文章来源:
高端网站建设谷美,成都企业管理培训,seo公司优化,如何更改WordPress登录密码Stream 什么是Stream流#xff1f; 在Java 8中#xff0c;得益于Lambda所带来的函数式编程#xff0c; 引入了一个全新的Stream流概念 #xff0c;用于解决已有集合/数组类库有的弊端。 Stream流能解决什么问题? 可以解决已有集合类库或者数组API的弊端。 Stream认为集合…Stream 什么是Stream流 在Java 8中得益于Lambda所带来的函数式编程 引入了一个全新的Stream流概念 用于解决已有集合/数组类库有的弊端。 Stream流能解决什么问题? 可以解决已有集合类库或者数组API的弊端。 Stream认为集合和数组操作的API很不好用所以采用了Stream流简化集合和数组的操作 小结 Stream流是用来简化集合类库或者数组API的弊端。 Stream流其实就一根传送带元素在上面可以被Stream流操作。 需求从集合中筛选出所有姓张的人出来。然后再找出姓名长度是3的人。 传统写法 public class StreamDemo01 {public static void main(String[] args) {ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);//1.找姓张的人ListString Z_list new ArrayList();for (String s : list) {if(s.startsWith(张)){Z_list.add(s);}}System.out.println(Z_list);//2.姓名长度为3ListString Z_Long_list new ArrayList();for (String s : Z_list) {if(s.length() 3) Z_Long_list.add(s);}System.out.println(Z_Long_list);} }Stream流写法 public class StreamDemo01 {public static void main(String[] args) {//需求从集合中筛选出所有姓张的人出来。然后再找出姓名长度是3的人。ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);list.stream().filter(s - s.startsWith(张)).filter(s - s.length() 3).forEach(System.out::println);} }如上见得stream基于函数式编程,更加简单 他的限制流filter可以链式编程最后遍历 Stream流的获取 Stream流式思想的核心 先得到集合或者数组的Stream流就是一根传送带然后就用这个Stream流操作集合或者数组的元素。然后用Stream流简化替代集合操作的API. 集合获取流的API: (1) default Stream stream(); 小结 集合获取Stream流用: stream(); 数组Arrays.stream(数组) / Stream.of(数组); public class StreamDemo01 {public static void main(String[] args) {/** --------------------Collection集合获取流------------------------------- */// Collection集合如何获取Stream流。CollectionString c new ArrayList();StreamString ss c.stream();/** --------------------Map集合获取流------------------------------- */MapString, Integer map new HashMap();// 先获取键的Stream流。StreamString keyss map.keySet().stream();// 在获取值的Stream流StreamInteger valuess map.values().stream();// 获取键值对的Stream流keyvalue Map.EntryString,IntegerStreamMap.EntryString,Integer keyAndValues map.entrySet().stream();/** ---------------------数组获取流------------------------------ */// 数组也有Stream流。String[] arrs new String[]{Java, JavaEE ,Spring Boot};StreamString arrsSS1 Arrays.stream(arrs);StreamString arrsSS2 Stream.of(arrs);} }Stream的常用API forEach : 逐一处理(遍历) count统计个数 – long count(); filter : 过滤元素 – Stream filter(Predicate? super T predicate) limit : 取前几个元素 skip : 跳过前几个 map : 加工方法 concat : 合并流。 public class StreamDemo03 {public static void main(String[] args) {ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);list.add(张三丰);//遍历foreachlist.stream().filter(s - s.length() 3).filter(s - s.startsWith(张)).forEach(System.out::println);//统计个数countlong count list.stream().filter(s - s.length() 3).filter(s - s.startsWith(张)).count();System.out.println(count);//取前几个list.stream().filter(s - s.length() 3).limit(2).forEach(System.out::println);//跳过前几个list.stream().filter(s - s.length() 3).skip(2).forEach(System.out::println);//map方法(映射)加工方法 将原元素加工后放上去/*将所有名称都加上小小的……*/list.stream().map(s - 小小的 s).forEach(System.out::println);/*将名称都加工成学生对象*///list.stream().map(s - new Student(s)).forEach(System.out::println);list.stream().map(Student::new).forEach(System.out::println);//构造器引用/*** concat合并流*///数组流StreamInteger s1 Stream.of(10,20,30,40);//集合流StreamString s2 list.stream();//合并流 类型不同可用Object接 只能两两合并StreamObject allStream Stream.concat(s1,s2);allStream.forEach(System.out::println);} } 综合案例 public class StreamDemo04 {public static void main(String[] args) {ListString one new ArrayList();one.add(迪丽热巴);one.add(宋远桥);one.add(苏星河);one.add(老子);one.add(庄子);one.add(孙子);one.add(洪七公);ListString two new ArrayList();two.add(古力娜扎);two.add(张无忌);two.add(张三丰);two.add(赵丽颖);two.add(张二狗);two.add(张天爱);two.add(张三);/*** 1. 第一个队伍只要名字为3个字的成员姓名* 2. 第一个队伍筛选之后只要前3个人*/StreamString oneStream one.stream().filter(s - s.length() 3).limit(3);/*** 3. 第二个队伍只要姓张的成员姓名* 4. 第二个队伍筛选之后不要前2个人* 5. 将两个队伍合并为一个队伍*/StreamString twoStream two.stream().filter(s - s.startsWith(张)).skip(2);StreamString allStream Stream.concat(oneStream,twoStream);/*** 6. 根据姓名创建Student对象 (加工)* 7. 打印整个队伍的Student对象信息。*/allStream.map(Student::new).forEach(System.out::println);} }Stream终结与非终结方法 终结方法一旦Stream调用了终结方法流的操作就全部终结了不能继续使用 只能创建新的Stream操作。 终结方法 foreach , count。 非终结方法每次调用完成以后返回一个新的流对象, 可以继续使用支持链式编程 public class StreamDemo {public static void main(String[] args) {ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);list.add(张三丰);// foreach终结方法list.stream().filter(s - s.startsWith(张)).filter(s - s.length() 3).forEach(System.out::println);long count list.stream().filter(s - s.startsWith(张)).filter(s - s.length() 3).count();System.out.println(count);} }收集Stream流 引入 Stream的作用是把集合转换成一根传送带借用Stream流的强大功能进行的操作。但是实际开发中数据最终的形式还是应该是集合最终Stream流操作完毕以后还是要转换成集合。这就是收集Stream流。 收集Stream流的含义就是把Stream流的数据转回到集合中去。 Stream流手段。 集合才是目的。 小结 收集Stream流的含义就是把Stream流的数据转回到集合中去。 熟练函数式编程如Lambda表达式简化函数式接口的匿名内部类形式以及四种方法引用简化Lambda表达式以及流式编程思想如Stream简化集合或者数组的操作。 public class StreamDemo {public static void main(String[] args) {ListString list new ArrayList();list.add(张无忌);list.add(周芷若);list.add(赵敏);list.add(张强);list.add(张三丰);list.add(张三丰);StreamString zhangLists list.stream().filter(s - s.startsWith(张));// 把stream流转换成Set集合。SetString sets zhangLists.collect(Collectors.toSet());System.out.println(sets);// 把stream流转换成List集合。StreamString zhangLists1 list.stream().filter(s - s.startsWith(张));ListString lists zhangLists1.collect(Collectors.toList());System.out.println(lists);// 把stream流转换成数组。StreamString zhangLists2 list.stream().filter(s - s.startsWith(张));Object[] arrs zhangLists2.toArray();// 可以借用构造器引用申明转换成的数组类型String[] arrs1 zhangLists2.toArray(String[]::new);} }

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

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

相关文章

做彩票网站违法做移动网站优化优

根据控制台的文本提示输入一个数,程序会把这个数按照规律插入到原来已经存在的数组中,并且会输出此数组。 结果演示 代码展示 package com.five;import java.util.Scanner;public class Crpx {public static Scanner input new Scanner(System.in);p…

怎么做网页自我介绍wordpress 程序优化

【1】静态全局变量 1.通常情况下,静态全局变量的声明和定义放在源文件中,并且不能使用extern关键字将全局静态变量导出,作用域仅限于定义静态全局变量的文件内部。 2.如果头文件中声明静态全局变量,在声明的同时会被初始化&…

抚州市建设局网站网站开发 介绍 回扣

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

网站建设完提交百度中国最顶尖的广告设计公司

前面已经学习了rust的基础知识,今天我们来学习rust强大的系统库,从此coding事半功倍。 集合 数组&可变长数组 在 Rust 中,有两种主要的数组类型:固定长度数组(Fixed-size Arrays)和可变长度数组&…

景观毕业设计作品网站wordpress手机模板

Hidden Markov Model, HMM 隐马尔可夫模型,是一种描述隐性变量(状态)和显性变量(观测状态)之间关系的模型。该模型遵循两个假设,隐性状态i只取决于前一个隐性状态i-1,而与其他先前的隐形状态无关。观测状态也只取决于当前的隐形状态。因此我们…

专业设计网站公司网站建设中标公告

这里展示白色半透明气泡如下图:实际是动态 思路:HTML里只需要一个CANVAS元素,Javascript里操作canvas 1、给canvas里绘制背景图片 2、在绘制半径为0-10px的圆形,x坐标屏幕水平随机,y所标竖直大于屏幕高度。 圆形背景…

应用商店网站模板大型网站建设完全教程

以下是一些 Kafka 集群优化的最佳实践: 复制策略配置: 在 server.properties 文件中配置 default.replication.factor 来指定每个主题的默认副本因子,以及 min.insync.replicas 来配置每个分区中必须要保持同步的最小副本数。这可以提高 Kafk…

外包项目网站北京做网站的公司排行

为什么要优化NSDateFormatter?首先,过度的创建NSDateFormatter用于NSDate与NSString之间转换,会导致App卡顿,打开Profile工具查一下性能,你会发现这种操作占CPU比例是非常高的。据官方说法,创建NSDateForma…

建设通是什么长沙专业网站优化定制

原因分析 vmware下ubuntu 22.04从主机复制出错,如果确定安装了vmware-tools而且重装之后无法解决,大概率是因为vmware-tools和wayland冲突(ubuntu 22.04默认使用wayland而不是xorg) wayland vs xorg Xorg是X窗口系统的最新版本&…

物流案例 网站莱芜要出大事

MyBatis关联映射 为什么要关联映射 实际开发中,对数据库操作常常会涉及多张表,所以在OOP中就涉及对象与对象的关联关系。针对多表操作,MyBatis提供关联映射。 关联关系概述 一对一:A类中定义B类的属性b,B类中定义A…

广州电子商城网站seo优化排名易下拉软件

连接断开阶段 四次挥手机制:TCP连接的断开需要四次挥手,这是因为双方都需要独立地关闭数据传输。第二次和第三次挥手不能合并,因为在回复第二次挥手的时候,可能还有数据没有接收完成,所以需要先回复ACK报文&#xff0c…

创意设计师个人网站wordpress 编辑器 国外

“摘要”式认证( Digestauthentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要,在RFC2671中描述。其身份验证机制很简单,它采用杂凑式(hash)加密方法&a…

免费下载网站模板筑梦网站建设

给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。返回 滑动窗口中的最大值 。示例 1:输入:nums [1,3,-1,-3,5,3,6,7], k 3 输出&am…

如何使用C语言实现Vigenre密码加解密

如何使用C语言实现Vigenre密码加解密 在洛谷看到这题,觉得有意思,遂写。 参考文章:C语言实现Vigenere加解密算法(附带源码) 1. Vigenre密码简介与原理 Vigenre密码是一种多表密码,使用一系列凯撒密码(Caesar ci…

如何给网站加关键词wordpress国外社交插件

这一节继续了解 openmax 目录下的内容。 1、OMX_Core.h 1.1、OMX_BUFFERHEADERTYPE 这是一个比较关键的结构体,上层ACodec/MediaCodec用到的 buffer id、OMXNode 与 OMX component 进行 buffer 传递都是通过该结构体完成,这里将会初步了解结构体中的部…

嵌入式硬件工程师每日提问 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站点击软件排名北京设计公司logo

样例输入 3 2 2 1 3 1 2样例输出 3 2样例说明 输入的数组为:【3,1,2】 增量序列为:【2,1】 当增量 h2:对于每一个索引 i,我们会将数组元素 arr[i] 与 arr[i−h] 进行比较,并进行可…

网站还建设 域名可以备案吗太原网络推广公司

文章目录 1. 生成模型与判别模型1.1 生成模型 2. VAE3. GAN3.1 GAN-生成对抗网络3.2 GAN-生成对抗网络的训练3.2.1 判别模型的训练:3.2.2 生成网络的训练: 4. LeakyReLU5. GAN代码实例 1. 生成模型与判别模型 生成模型与判别模型 我们前面几章主要介绍了…

安徽网站开发建设泸州网站公司

java编程语言是目前世界最流行的编程语言,它是在c的基础上开发出来的语言,它取其精华去其糟粕让java语言具有功能强大和简单易用的特征。java具有:面对对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。java可以编写…

信息化和网站建设管理工作情况建立网站视频教程

在做一个网站时,发现视频文件,比如flv,MP4格式在本地可以正常的播放,但是传到了开发机器上,就不行了。播放器的文件地址是对的,就是一直没有反应。 经过长时间的实验,发现问题在与iis的设置问题…