然后搭建网站手机端店铺装修

张小明 2026/1/2 14:17:55
然后搭建网站,手机端店铺装修,网页设计网站哪个公司好,简网站开发平台目录 1.什么是Stream Stream的特点 2.Stream流vs传统集合操作 3.创建Stream流 4.Stream常用方法 4.1中间方法 过滤操作 排序操作 限制和跳过元素 去重操作 映射操作 流合并 关键点总结 4.2 终结方法 1.foreach 2.count统计个数 3.max/min 最大/最小值 4.3 收…目录1.什么是StreamStream的特点2.Stream流vs传统集合操作3.创建Stream流4.Stream常用方法4.1中间方法过滤操作排序操作限制和跳过元素去重操作映射操作流合并关键点总结4.2 终结方法1.foreach2.count统计个数3.max/min 最大/最小值4.3 收集方法Stream是Java 8引入的一套新的API用于处理集合数据的函数式编程风格操作。它让集合操作变得更简洁、高效并支持并行处理1.什么是StreamStream是一种高级迭代器用于对数据源进行函数式操作。Stream的特点1. 不存储数据Stream本身不存储数据数据来自数据源2. 函数式操作支持lambda表达式和函数式编程3. 延迟执行中间操作都是延迟执行的4. 可消费性Stream只能被消费一次2.Stream流vs传统集合操作现在有一个装有String的列表[Tom, Jerry, Alice]我要把Alice全部大写并且放到新的列表当中去应该怎么办传统方式// 传统集合操作 ListString names Arrays.asList(Tom, Jerry, Alice); ListString result new ArrayList(); for (String name : names) { if (name.startsWith(A)) { result.add(name.toUpperCase()); } }Stream流操作// Stream操作 ListString result1 names.stream() .filter(name - name.startsWith(A)) .map(String::toUpperCase) .collect(Collectors.toList());结果都是一样的[ALICE]3.创建Stream流详情看代码//1.获取集合的stream流 ListString list new ArrayList(); StreamString stream1 list.stream(); //2.获取Map的stream流 MapString,String mapnew HashMap(); //获取键流 StreamString stream2 map.keySet().stream(); //获取值流 StreamString stream3 map.values().stream(); //获取键值对流 StreamMap.EntryString, String stream4 map.entrySet().stream(); //3.获取数组的stream流 Integer[] arr{1,2,3,4,5,6,7,8,9}; StreamInteger stream5 Arrays.stream(arr); StreamInteger stream6 Stream.of(arr);4.Stream常用方法4.1中间方法中间方法的意思是调用完它们之后返回的是一个新的流可以进行用中间方法对其进行操作所以它支持链式编辑。package com.qbcy; import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; public class Demo2 { public static void main(String[] args) { ListString list new ArrayList(); list.add(张无忌); list.add(周芷若); list.add(赵敏); list.add(张强); list.add(张三丰); list.add(张翠山); //1.过滤方法 list.stream().filter(s - s.startsWith(张)s.length()3) .forEach(s - System.out.println(s)); //2.排序方法 ListDouble list1 new ArrayList(); list1.add(1.2); list1.add(4.3); list1.add(4.3); list1.add(4.3); list1.add(3.2); list1.add(2.1); list1.stream().sorted().forEach(s - System.out.print(s )); System.out.println(); //降序排列 list1.stream().sorted((s1,s2)-Double.compare(s2,s1)).forEach(s - System.out.print(s )); System.out.println(); //获取降序排列后的前两个元素 limit list1.stream().sorted((s1,s2)-Double.compare(s2,s1)).limit(2).forEach(s - System.out.print(s )); System.out.println(); //跳过前两个元素 skip list1.stream().sorted((s1,s2)-Double.compare(s2,s1)).skip(2).forEach(s - System.out.print(s )); System.out.println(); //去重 distinct //如果希望能去重则需要重写hashCode和equals方法 list1.stream().distinct().forEach(s - System.out.print(s )); System.out.println(); //映射方法:把流上面的元素拿出来变成新的元素再放到新流中 list1.stream().map(s - 加10后(s10)).forEach(System.out::println); //合并流,把两个流接起来 StreamObject resStream.concat(list.stream(),list1.stream()); System.out.println(-----------合并后的流-----------); res.forEach(System.out::println); } }过滤操作使用filter方法筛选出以张开头且长度为3的字符串list.stream().filter(s - s.startsWith(张)s.length()3) .forEach(s - System.out.println(s));排序操作对Double类型列表进行升序和降序排列// 升序 list1.stream().sorted().forEach(s - System.out.print(s )); // 降序 list1.stream().sorted((s1,s2)-Double.compare(s2,s1)).forEach(s - System.out.print(s ));限制和跳过元素使用limit获取前两个元素skip跳过前两个元素// 获取前两个 list1.stream().sorted((s1,s2)-Double.compare(s2,s1)).limit(2).forEach(s - System.out.print(s )); // 跳过前两个 list1.stream().sorted((s1,s2)-Double.compare(s2,s1)).skip(2).forEach(s - System.out.print(s ));去重操作使用distinct去除重复元素list1.stream().distinct().forEach(s - System.out.print(s ));映射操作通过map将每个元素转换为新格式list1.stream().map(s - 加10后(s10)).forEach(System.out::println);流合并使用Stream.concat合并两个流StreamObject resStream.concat(list.stream(),list1.stream()); res.forEach(System.out::println);关键点总结filter用于条件筛选sorted支持自然排序和自定义比较器limit和skip控制元素数量distinct依赖equals和hashCode实现去重map实现元素转换Stream.concat可合并多个流4.2 终结方法一旦调用终结方法这个流就不能再使用了首先创建Teacher类package com.qbcy; /** * 创建Teacher类 */ public class Teacher { private String name; private int age; private String sex; public Teacher() { } public Teacher(String name, int age, String sex) { this.name name; this.age age; this.sex sex; } public String getName() { return name; } public void setName(String name) { this.name name; } public int getAge() { return age; } public void setAge(int age) { this.age age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex sex; } Override public String toString() { return Teacher [name name , age age , sex sex ]; } }1.foreachpackage com.qbcy; import java.util.ArrayList; import java.util.List; /** * 终结方法 */ public class Demo3 { public static void main(String[] args) { ListTeacher list new ArrayList(); list.add(new Teacher(张三, 18, 男)); list.add(new Teacher(张三丰, 50, 男)); list.add(new Teacher(张无忌, 20, 男)); list.add(new Teacher(周芷若, 18, 女)); list.add(new Teacher(赵敏, 16, 女)); list.add(new Teacher(张翠山, 40, 男)); //forEach 遍历过滤后的数据 list.stream().filter(t-t.getAge()30).forEach(System.out::println); } }这里把年龄大于30的教师过滤出来使用forEach遍历输出2.count统计个数Long tCountlist.stream().filter(t-t.getAge()30).count(); System.out.println(30岁以上的教师数量为tCount);3.max/min 最大/最小值//max 返回最大值 放到了 Optional 容器里面 这个容器里面能记住值value OptionalTeacher reslist.stream().max((t1, t2)-Double.compare(t1.getAge(),t2.getAge())); Teacher maxAgeTeacher res.get(); System.out.println(最大年龄的教师为maxAgeTeacher); System.out.println(-------------------------------); //min 返回最小值 放到了 Optional 容器里面 这个容器里面能记住值value OptionalTeacher res1list.stream().min((t1, t2)-Double.compare(t1.getAge(),t2.getAge())); Teacher minAgeTeacher res1.get(); System.out.println(最小年龄的教师为minAgeTeacher); System.out.println(-------------------------------);4.3 收集方法package com.qbcy; import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Demo1 { //获取Stream流 public static void main(String[] args) { //1.获取集合的stream流 ListString list new ArrayList(); //赋值 list.add(张三); list.add(李四); list.add(王五); //过滤 StreamString streamListlist.stream().filter(s-s.startsWith(张)); ListString resList streamList.collect(Collectors.toList()); System.out.println(resList); System.out.println(--------------------------------------------------); //2.获取Map的stream流 MapString,String mapnew HashMap(); //赋值 map.put(1,张三); map.put(2,张三); map.put(3,张三); map.put(4,张三); //获取键流 StreamString streamKeys map.keySet().stream(); ListString resKeys streamKeys.collect(Collectors.toList()); System.out.println(resKeys); System.out.println(--------------------------------------------------); //获取值流 StreamString stream3 map.values().stream(); ListString resValues stream3.collect(Collectors.toList()); System.out.println(resValues); System.out.println(--------------------------------------------------); //获取键值对流 StreamMap.EntryString, String stream4 map.entrySet().stream(); ListMap.EntryString, String resEntry stream4.collect(Collectors.toList()); MapString, String resMap resEntry.stream().collect(Collectors.toMap(Map.Entry::getKey,Map.Entry::getValue)); System.out.println(resMap); System.out.println(resEntry); System.out.println(--------------------------------------------------); //3.获取数组的stream流 Integer[] arr{1,2,3,4,5,6,7,8,9}; StreamInteger stream5 Arrays.stream(arr); StreamInteger stream6 Stream.of(arr); ListInteger resArr stream5.collect(Collectors.toList()); System.out.println(resArr); System.out.println(--------------------------------------------------); } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设与维护费招聘网站建设费用多少钱

随着人工智能大模型向更高参数规模和更低部署成本发展,混合专家模型(MoE)与低精度训练技术的结合成为行业焦点。2025年,inclusionAI团队推出的Ling-mini-2.0模型凭借其创新的1/32稀疏激活架构和FP8训练方案,在16B总参数…

张小明 2026/1/1 6:01:06 网站建设

网站营销策划河北建设工程信息网网

第一章:VSCode远程调试文件同步的核心挑战在使用 VSCode 进行远程开发时,开发者常面临本地与远程环境之间文件同步的难题。尽管 VSCode 提供了 Remote-SSH、Remote-Containers 等强大扩展,但当网络不稳定或配置不当,文件变更可能无…

张小明 2025/12/30 1:35:40 网站建设

网站教程dw建设银行的网站怎么打开

一、为什么要分析结温 计算元器件的结温,是电子工程设计、可靠性评估和失效分析中至关重要、不可或缺的核心环节。其重要性堪比建筑的地基承重计算,直接决定了产品的寿命、性能和安全性 1、可靠性保障:避免热失效(根本原因&…

张小明 2026/1/1 5:49:10 网站建设

asp网站无法上传图片丰城建设网站

Fluent Terminal:Windows命令行体验的终极解决方案 【免费下载链接】FluentTerminal A Terminal Emulator based on UWP and web technologies. 项目地址: https://gitcode.com/gh_mirrors/fl/FluentTerminal 还在为Windows默认终端的简陋界面和有限功能而苦…

张小明 2025/12/30 11:59:39 网站建设

高端企业网站公司杭州 建设网站

一、传统服务模式下日用品行业的痛点日用品行业超 60% 中小商家依赖纯人工客服,服务短板制约经营:日用品品类繁杂(清洁用品、家居百货、个人护理等),需求分散且高频,人工客服日均处理上限仅 200 条&#xf…

张小明 2026/1/1 17:32:07 网站建设

怎么用indesign做网站设计怎么制作免费网站教程视频

手势控制革命:用智能手势彻底改变你的Windows操作体验 【免费下载链接】GestureSign A gesture recognition software for Windows tablet 项目地址: https://gitcode.com/gh_mirrors/ge/GestureSign 还在为繁琐的鼠标点击和键盘快捷键而烦恼吗?每…

张小明 2025/12/25 5:12:33 网站建设