建站快车代理商90平方装修价格明细

张小明 2026/1/10 18:10:08
建站快车代理商,90平方装修价格明细,软件开发外包公司值不值得去,网站建设扬州文章目录Ⅰ. Stream API一、Stream 创建方式二、中间操作#xff08;返回新的 Stream#xff0c;可链式调用#xff09;三、终止操作#xff08;触发流处理#xff0c;返回具体结果#xff09;Ⅱ. Optional 类Ⅲ. 两者结合的一个例子Ⅳ. 正则表达式#x1f9e0; 1. 基础…文章目录Ⅰ. Stream API一、Stream 创建方式二、中间操作返回新的 Stream可链式调用三、终止操作触发流处理返回具体结果Ⅱ. Optional 类Ⅲ. 两者结合的一个例子Ⅳ. 正则表达式 1. 基础元字符Metacharacters 2. 常用转义字符 3. 常用校验正则可直接用于 Java✅ 邮箱✅ 手机号中国大陆✅ 身份证大陆 18位✅ 密码强度6-12位字母或数字✅ 密码必须包含大小写字母 数字6-16位✅ URL 校验 4. Java 中正则使用方式 字符串匹配 字符串提取Ⅰ. Stream API常见的Java 8 Stream API可以分成几类创建、转换、中间操作、终止操作。创建操作得到一个流对象中间操作返回的还是一个新的流lazy不会真正执行终止操作才会触发整个流水线的执行产生结果数值、集合、Optional 等StreamIntegersStream.of(1,2,3,4).filter(x-x2)// 中间操作返回流.map(x-x*10);// 中间操作返回流// 到这里还没执行s 只是描述了一条“流水线”ListIntegerlists.collect(Collectors.toList());// 终止操作真正执行System.out.println(list);// [30, 40]一、Stream 创建方式方法说明示例Stream.of(T…)由一组元素创建Stream.of(1,2,3)Arrays.stream(array)由数组创建Arrays.stream(new int[]{1,2,3})Collection.stream()由集合创建list.stream()Collection.parallelStream()并行流list.parallelStream()Stream.iterate(seed, f)无限流迭代生成Stream.iterate(1, n - n1)Stream.generate(Supplier)无限流供应生成Stream.generate(Math::random)二、中间操作返回新的 Stream可链式调用方法说明示例filter(Predicate)过滤元素stream.filter(x - x 10)map(Function)映射/转换stream.map(String::length)flatMap(Function)扁平化映射stream.flatMap(s - Arrays.stream(s.split(“,”)))distinct()去重stream.distinct()sorted()自然排序stream.sorted()sorted(Comparator)自定义排序stream.sorted((a,b)-b-a)limit(n)截取前 n 个stream.limit(5)skip(n)跳过前 n 个stream.skip(3)peek(Consumer)调试/查看中间值stream.peek(System.out::println)三、终止操作触发流处理返回具体结果集合结果collect聚合结果reduce、count、min、max布尔判断anyMatch、allMatch、noneMatch单元素findFirst、findAny遍历/副作用forEach方法说明返回值类型示例forEach(Consumer)遍历元素无返回voidstream.forEach(System.out::println)toArray()转数组Object[] 或 T[]stream.toArray()collect(Collector)收集结果泛型 R常见List、Set、Mapstream.collect(Collectors.toList())reduce(BinaryOperator)规约累加、累乘等Optionalstream.reduce(Integer::sum)reduce(identity, BinaryOperator)带初始值的规约Tstream.reduce(0, Integer::sum)count()统计数量longstream.count()min(Comparator)最小值Optionalstream.min(Integer::compare)max(Comparator)最大值Optionalstream.max(Integer::compare)anyMatch(Predicate)是否存在任意满足条件booleanstream.anyMatch(x - x 10)allMatch(Predicate)是否所有元素满足条件booleanstream.allMatch(x - x 0)noneMatch(Predicate)是否没有元素满足条件booleanstream.noneMatch(x - x 0)findFirst()返回第一个元素Optionalstream.findFirst()findAny()返回任意一个元素并行流常用Optionalstream.findAny()Ⅱ. Optional 类OptionalT是一个可能包含值也可能为空的容器对象它替代了传统的null返回用更安全、明确、链式的方式处理值的存在或缺失。常用方法如下所示方法名返回值说明of(T value)Optional创建非空的 Optional传 null 会抛异常ofNullable(T value)Optional创建 Optional允许 nullempty()Optional创建一个空的 OptionalisPresent()boolean判断是否有值true/falseifPresent(Consumer)void如果有值就执行某个操作get()T获取值若为空会抛 NoSuchElementExceptionorElse(T other)T若有值则返回否则返回默认值总会执行传入的表达式无论是否为空orElseGet(Supplier)T若有值返回否则调用函数获取默认值只有为空才会执行传入的表达式orElseThrow()T若为空抛异常默认抛 NoSuchElementExceptionorElseThrow(Supplier)T若为空抛自定义异常map(Function)Optional对值做转换操作包装成新的 OptionalflatMap(Function)Optional链式调用避免嵌套 Optionalfilter(Predicate)Optional判断值是否满足条件不满足则变成 empty注意事项❌不要用get()随意取值如果值为 null 会直接抛异常。✅ 推荐始终使用orElse/ifPresent等方法来处理 Optional。// 创建一个optional对象OptionalStringoptionalNameOptional.of(lirendada);// 1. 是否有值optionalName.isPresent();// true// 2. 如果有值就打印optionalName.ifPresent(name-System.out.println(Name: name));// 3. 获取值不推荐直接用 getStringnameoptionalName.get();// 4. 如果为空则返回默认值StringvalueOptional.ofNullable(null).orElse(默认值);// 默认值// 5. 用 orElseGet 延迟执行StringvOptional.ofNullable(null).orElseGet(()-getDefault());// 6. 为空则抛异常StringerrorOptional.ofNullable(null).orElseThrow(()-newIllegalArgumentException(值不能为空));// 7. 转换值mapOptionalIntegernameLengthoptionalName.map(String::length);// 8. 链式调用 判断StringresultOptional.of(lirendada).filter(s-s.length()5).map(String::toUpperCase).orElse(太短了);// 输出LIRENDADAⅢ. 两者结合的一个例子findFirst()是 Java Stream 中的一个终止操作Terminal Operation作用是在过滤或处理后的流中返回“第一个匹配的元素”包装在Optional中。如果不用findFirst()结束的话就会得到一个无限的 Stream 流对象而不是最终的PrizeEntity元素。OptionalPrizeEntityoptionalPrizeDTOprizes.stream().filter(y-y.getId().equals(x.getPrizeId())).findFirst();// 如果 optionalPrizeDTO 不为空执行该方法optionalPrizeDTO.ifPresent(y-{// 设置详细属性});Ⅳ. 正则表达式正则表达式Regular Expression是一种文本模式匹配工具常用于字符串校验、提取、替换等操作。使用 regex101.com 在线测试正则 1. 基础元字符Metacharacters符号含义示例匹配内容.任意单个字符除换行a.bacb,a9b^匹配字符串开始^abcabc123✅xabc❌$匹配字符串结束abc$123abc✅abc123❌*重复 0 次或多次ab*cac,abc,abbbc重复 1 次或多次abcabc,abbbc?重复 0 次或 1 次可选ab?cac,abc[]匹配一个字符[abc]a,b,c[^]匹配不在集合内的字符[^0-9]非数字{n}重复 n 次a{3}aaa{n,}至少重复 n 次a{2,}aa,aaa{n,m}重复 n~m 次a{2,4}aa,aaa,aaaa或abc()分组(abc)匹配多个abc 2. 常用转义字符符号含义示例匹配内容\d数字[0-9]\d{3}123\D非数字\Dabc\w单词字符[a-zA-Z0-9_]\wabc_123\W非单词字符\W#!\s空白字符空格、Tab、换行\s 、\t、\n\S非空白字符\Sabc123\b单词边界\bword\b匹配独立单词word\B非单词边界\Bword\B中间位置xwordx 3. 常用校验正则可直接用于 Java✅ 邮箱^[a-zA-Z0-9_.-][a-zA-Z0-9-]\.[a-zA-Z0-9-.]$✅ 手机号中国大陆^1[3-9]\d{9}$✅ 身份证大陆 18位^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$✅ 密码强度6-12位字母或数字^[A-Za-z0-9]{6,12}$✅ 密码必须包含大小写字母 数字6-16位^(?.*[a-z])(?.*[A-Z])(?.*\d)[A-Za-z\d]{6,16}$✅ URL 校验^(https?://)?([a-zA-Z0-9.-])(:[0-9]{1,5})?(/.*)?$ 4. Java 中正则使用方式 字符串匹配Stringregex^1[3-9]\\d{9}$;booleanisValidPattern.matches(regex,13812345678); 字符串提取PatternpatternPattern.compile(\\d);Matchermatcherpattern.matcher(abc123xyz456);while(matcher.find()){System.out.println(matcher.group());// 输出 123 和 456}
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

快手官方网站音乐人怎么做吉安市城乡建设局网站

SenseVoice语音识别:让行业术语识别准确率提升3倍的终极解决方案 【免费下载链接】SenseVoice Multilingual Voice Understanding Model 项目地址: https://gitcode.com/gh_mirrors/se/SenseVoice 你是否遇到过这样的困扰:在医疗会诊中&#xff0…

张小明 2026/1/2 10:25:31 网站建设

网站的开发环境是什么清控人居建设集团网站

找不到尺子怎么办?这款免费打印工具帮你搞定临时测量需求! 【免费下载链接】A4纸打印尺子11资源介绍 本资源提供了一个A4纸大小的尺子模板,比例为1:1,可以直接下载并打印使用。打印后,您可以将它作为应急尺子使用&…

张小明 2025/12/27 5:58:17 网站建设

广西玉林网站建设正规公司推广软件app

第一章:金融交易量子加速的安全验证在现代金融系统中,高频交易与实时结算对计算效率提出了极高要求。量子计算凭借其并行处理能力,为交易算法提供了指数级加速潜力。然而,量子加速过程中的数据完整性与身份认证问题成为关键挑战。…

张小明 2025/12/27 6:46:06 网站建设

苏州网站开发服务做平台网站产品上传

EmotiVoice语音合成模型文件大小及加载速度深度解析 在AI语音技术飞速发展的今天,用户早已不再满足于“能说话”的机械朗读。从智能助手到虚拟偶像,市场对语音的情感表现力、个性化程度提出了前所未有的高要求。正是在这一背景下,EmotiVoice …

张小明 2025/12/27 10:53:10 网站建设

网站建设和管理办法百度一下首页网页手机版

当业界还在为千亿参数模型的算力需求而头疼时,一场"小而精"的技术革命正在悄然改变游戏规则。本周最引人注目的突破来自Apriel-1.5-15B-Thinker模型,这个仅有150亿参数的"轻量级选手"在与十倍规模模型的竞技中展现出了惊人的竞争力。…

张小明 2025/12/29 9:28:46 网站建设

请给自己的网站首页布局网站建设服务费税率多少钱

在图像设计和后期处理中,GIMP(GNU Image Manipulation Program)是一款功能全面、完全免费的开源图像编辑工具。对于Windows用户而言,它不仅能满足常规的修图需求,还能实现类似商业设计软件的多图层合成、滤镜应用、颜色…

张小明 2025/12/29 9:14:57 网站建设