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

小组用jsp做的网站论文个体工商户年检入口

小组用jsp做的网站论文,个体工商户年检入口,怎么装wordpress,合肥网站制作报引言 Java 8引入了许多新特性#xff0c;其中最为显著的莫过于Lambda表达式和Stream API。Stream API提供了一种高效、简洁的方法来处理集合数据#xff0c;使代码更加简洁明了#xff0c;且具有较高的可读性和可维护性。本文将深入探讨Java Stream API的使用#xff0c;包…引言 Java 8引入了许多新特性其中最为显著的莫过于Lambda表达式和Stream API。Stream API提供了一种高效、简洁的方法来处理集合数据使代码更加简洁明了且具有较高的可读性和可维护性。本文将深入探讨Java Stream API的使用包括基础概念、常用操作、并行处理、实战案例以及最佳实践等内容。 目录 什么是Stream APIStream API的基础操作 创建Stream中间操作终端操作 Stream API的高级操作 排序筛选映射规约收集 并行StreamStream API实战案例 处理集合数据文件操作数据库操作 Stream API的最佳实践常见问题与解决方案总结 什么是Stream API Stream API是Java 8引入的一种用于处理集合数据的抽象它允许以声明性方式类似SQL语句来处理数据。Stream API提供了许多强大的操作可以用来对集合进行过滤、排序、映射、规约等操作极大地简化了代码。 特点 声明性编程使用Stream API可以以声明性的方式编写代码减少样板代码。链式调用Stream API的操作可以链式调用提高代码的可读性。惰性求值中间操作是惰性求值的只有在执行终端操作时才会进行计算。并行处理支持并行处理可以充分利用多核CPU的优势。 Stream API的基础操作 创建Stream Stream API提供了多种方式来创建Stream常见的有以下几种 从集合创建 ListString list Arrays.asList(a, b, c); StreamString stream list.stream();从数组创建 String[] array {a, b, c}; StreamString stream Arrays.stream(array);使用Stream.of StreamString stream Stream.of(a, b, c);使用Stream.generate StreamDouble stream Stream.generate(Math::random).limit(10);使用Stream.iterate StreamInteger stream Stream.iterate(0, n - n 2).limit(10);中间操作 中间操作用于转换Stream是惰性求值的常见的中间操作有以下几种 filter用于过滤元素。 StreamString stream list.stream().filter(s - s.startsWith(a));map用于映射每个元素到对应的结果。 StreamString stream list.stream().map(String::toUpperCase);flatMap用于将每个元素转换为Stream然后合并成一个Stream。 StreamString stream list.stream().flatMap(s - Stream.of(s.split()));distinct用于去重。 StreamString stream list.stream().distinct();sorted用于排序。 StreamString stream list.stream().sorted();peek用于在处理过程中查看每个元素。 StreamString stream list.stream().peek(System.out::println);终端操作 终端操作用于启动Stream的计算并生成结果常见的终端操作有以下几种 forEach对每个元素执行操作。 list.stream().forEach(System.out::println);collect将Stream转换为其他形式。 ListString result list.stream().collect(Collectors.toList());reduce将Stream中的元素规约成一个值。 OptionalString result list.stream().reduce((s1, s2) - s1 s2);toArray将Stream转换为数组。 String[] array list.stream().toArray(String[]::new);count计算元素个数。 long count list.stream().count();anyMatch、allMatch、noneMatch用于匹配判断。 boolean anyMatch list.stream().anyMatch(s - s.startsWith(a)); boolean allMatch list.stream().allMatch(s - s.startsWith(a)); boolean noneMatch list.stream().noneMatch(s - s.startsWith(a));findFirst、findAny用于查找元素。 OptionalString first list.stream().findFirst(); OptionalString any list.stream().findAny();Stream API的高级操作 排序 使用sorted方法对Stream进行排序可以传入一个比较器。 ListString list Arrays.asList(b, c, a); ListString sortedList list.stream().sorted().collect(Collectors.toList()); // 逆序排序 ListString sortedListDesc list.stream().sorted(Comparator.reverseOrder()).collect(Collectors.toList());筛选 使用filter方法对Stream中的元素进行筛选。 ListString list Arrays.asList(a, b, c); ListString filteredList list.stream().filter(s - s.startsWith(a)).collect(Collectors.toList());映射 使用map方法对Stream中的元素进行映射。 ListString list Arrays.asList(a, b, c); ListString mappedList list.stream().map(String::toUpperCase).collect(Collectors.toList());规约 使用reduce方法对Stream中的元素进行规约。 ListString list Arrays.asList(a, b, c); String result list.stream().reduce(, (s1, s2) - s1 s2);收集 使用collect方法将Stream转换为其他形式。 ListString list Arrays.asList(a, b, c); ListString collectedList list.stream().collect(Collectors.toList()); SetString collectedSet list.stream().collect(Collectors.toSet()); String joinedString list.stream().collect(Collectors.joining(,));并行Stream 并行Stream可以充分利用多核CPU的优势提高数据处理的效率。可以使用parallelStream方法创建并行Stream。 ListString list Arrays.asList(a, b, c); ListString parallelList list.parallelStream().map(String::toUpperCase).collect(Collectors.toList());也可以使用parallel方法将普通Stream转换为并行Stream。 ListString list Arrays.asList(a, b, c); ListString parallelList list.stream().parallel().map(String::toUpperCase).collect(Collectors.toList());需要注意的是并行Stream并不是总是比串行Stream更快具体需要根据具体情况进行测试。 Stream API实战案例 处理集合数据 案例一过滤并转换集合 给定一个包含若干字符串的集合过滤掉长度小于3的字符串并将剩余字符串转换为大写。 ListString list Arrays.asList(a, ab, abc, abcd); ListString result list.stream().filter(s - s.length() 3).map(String::toUpperCase).collect(Collectors.toList()); System.out.println(result); // 输出[ABC, ABCD]案例二计算平均值 给定一个包含若干整数的集合计算所有整数的平均值。 ListInteger list Arrays.asList(1, 2, 3, 4, 5); OptionalDouble average list.stream().mapToInt(Integer::intValue).average(); average.ifPresent(System.out::println); // 输出3.0文件操作 案例三读取文件内容 使用Stream API 读取文件内容并输出到控制台。 try (StreamString lines Files.lines(Paths.get(example.txt))) {lines.forEach(System.out::println); } catch (IOException e) {e.printStackTrace(); }案例四统计单词出现次数 读取文件内容并统计每个单词出现的次数。 try (StreamString lines Files.lines(Paths.get(example.txt))) {MapString, Long wordCount lines.flatMap(line - Arrays.stream(line.split(\\W))).collect(Collectors.groupingBy(String::toLowerCase, Collectors.counting()));wordCount.forEach((word, count) - System.out.println(word : count)); } catch (IOException e) {e.printStackTrace(); }数据库操作 案例五处理数据库查询结果 假设我们有一个数据库表users包含字段id、name和age。我们可以使用Stream API处理查询结果。 ListUser users queryDatabase(); ListString names users.stream().filter(user - user.getAge() 18).map(User::getName).collect(Collectors.toList()); System.out.println(names);Stream API的最佳实践 避免不必要的并行化并行Stream并不是总是更快应该根据具体情况进行选择。合理使用中间操作和终端操作中间操作是惰性求值的只有在执行终端操作时才会进行计算。注意Stream的可复用性Stream一旦被消费就不能再使用如果需要复用可以考虑将Stream转换为集合再使用。使用合适的收集器Collectors类提供了多种收集器可以根据具体需求选择合适的收集器。处理异常在使用Stream API时需要处理可能出现的异常尤其是在文件操作和数据库操作中。 常见问题与解决方案 Stream已关闭 Stream一旦被消费就不能再使用如果需要复用可以考虑将Stream转换为集合再使用。 ListString list Arrays.asList(a, b, c); StreamString stream list.stream(); stream.forEach(System.out::println); stream.forEach(System.out::println); // 会抛出IllegalStateException性能问题 并行Stream并不是总是比串行Stream更快具体需要根据具体情况进行测试。可以使用ForkJoinPool来优化并行Stream的性能。 ForkJoinPool customThreadPool new ForkJoinPool(4); customThreadPool.submit(() -list.parallelStream().forEach(System.out::println) ).get();内存泄漏 在使用Stream API处理大数据量时需要注意内存泄漏的问题。可以使用close方法关闭Stream或者使用try-with-resources语句自动关闭Stream。 try (StreamString lines Files.lines(Paths.get(example.txt))) {lines.forEach(System.out::println); } catch (IOException e) {e.printStackTrace(); }总结 本文详细介绍了Java Stream API的使用包括基础操作、高级操作、并行处理、实战案例以及最佳实践等内容。通过合理利用Stream API开发者可以大大简化代码提高代码的可读性和可维护性同时还可以提高数据处理的效率。希望本文对你在Java开发中的Stream API使用有所帮助。 Java Stream API是处理集合数据的强大工具通过灵活运用各种操作可以实现高效的数据处理和流式计算。如果你还没有使用过Stream API建议尽快学习和掌握这一强大的工具将其应用到你的项目中提升开发效率和代码质量。
文章转载自:
http://www.morning.yysqz.cn.gov.cn.yysqz.cn
http://www.morning.xfncq.cn.gov.cn.xfncq.cn
http://www.morning.ttfh.cn.gov.cn.ttfh.cn
http://www.morning.gqflj.cn.gov.cn.gqflj.cn
http://www.morning.fnhxp.cn.gov.cn.fnhxp.cn
http://www.morning.mkygc.cn.gov.cn.mkygc.cn
http://www.morning.bsjpd.cn.gov.cn.bsjpd.cn
http://www.morning.jmlgk.cn.gov.cn.jmlgk.cn
http://www.morning.ksqyj.cn.gov.cn.ksqyj.cn
http://www.morning.tsyny.cn.gov.cn.tsyny.cn
http://www.morning.fgwzl.cn.gov.cn.fgwzl.cn
http://www.morning.ctpfq.cn.gov.cn.ctpfq.cn
http://www.morning.tgydf.cn.gov.cn.tgydf.cn
http://www.morning.qkrgk.cn.gov.cn.qkrgk.cn
http://www.morning.lggng.cn.gov.cn.lggng.cn
http://www.morning.mkrqh.cn.gov.cn.mkrqh.cn
http://www.morning.crqpl.cn.gov.cn.crqpl.cn
http://www.morning.rswtz.cn.gov.cn.rswtz.cn
http://www.morning.jyzqn.cn.gov.cn.jyzqn.cn
http://www.morning.rhkgz.cn.gov.cn.rhkgz.cn
http://www.morning.txkrc.cn.gov.cn.txkrc.cn
http://www.morning.wbfly.cn.gov.cn.wbfly.cn
http://www.morning.zwppm.cn.gov.cn.zwppm.cn
http://www.morning.rzczl.cn.gov.cn.rzczl.cn
http://www.morning.fpzpb.cn.gov.cn.fpzpb.cn
http://www.morning.jmnfh.cn.gov.cn.jmnfh.cn
http://www.morning.gpkjx.cn.gov.cn.gpkjx.cn
http://www.morning.wfzlt.cn.gov.cn.wfzlt.cn
http://www.morning.gtjkh.cn.gov.cn.gtjkh.cn
http://www.morning.mmzhuti.com.gov.cn.mmzhuti.com
http://www.morning.bkcnq.cn.gov.cn.bkcnq.cn
http://www.morning.gcthj.cn.gov.cn.gcthj.cn
http://www.morning.jwbnm.cn.gov.cn.jwbnm.cn
http://www.morning.yfcyh.cn.gov.cn.yfcyh.cn
http://www.morning.lbcfj.cn.gov.cn.lbcfj.cn
http://www.morning.nptls.cn.gov.cn.nptls.cn
http://www.morning.ggnkt.cn.gov.cn.ggnkt.cn
http://www.morning.cgntj.cn.gov.cn.cgntj.cn
http://www.morning.krqhw.cn.gov.cn.krqhw.cn
http://www.morning.tdldh.cn.gov.cn.tdldh.cn
http://www.morning.pwdmz.cn.gov.cn.pwdmz.cn
http://www.morning.trkhx.cn.gov.cn.trkhx.cn
http://www.morning.pxjp.cn.gov.cn.pxjp.cn
http://www.morning.dswtz.cn.gov.cn.dswtz.cn
http://www.morning.mjpgl.cn.gov.cn.mjpgl.cn
http://www.morning.wkcl.cn.gov.cn.wkcl.cn
http://www.morning.prprz.cn.gov.cn.prprz.cn
http://www.morning.rczrq.cn.gov.cn.rczrq.cn
http://www.morning.lndongguan.com.gov.cn.lndongguan.com
http://www.morning.snccl.cn.gov.cn.snccl.cn
http://www.morning.ywrt.cn.gov.cn.ywrt.cn
http://www.morning.fgkrh.cn.gov.cn.fgkrh.cn
http://www.morning.bxrqf.cn.gov.cn.bxrqf.cn
http://www.morning.zntf.cn.gov.cn.zntf.cn
http://www.morning.ffydh.cn.gov.cn.ffydh.cn
http://www.morning.mrlls.cn.gov.cn.mrlls.cn
http://www.morning.wjlkz.cn.gov.cn.wjlkz.cn
http://www.morning.jkmjm.cn.gov.cn.jkmjm.cn
http://www.morning.wrlxy.cn.gov.cn.wrlxy.cn
http://www.morning.nzqqd.cn.gov.cn.nzqqd.cn
http://www.morning.txrq.cn.gov.cn.txrq.cn
http://www.morning.trkl.cn.gov.cn.trkl.cn
http://www.morning.mfnsn.cn.gov.cn.mfnsn.cn
http://www.morning.rlkgc.cn.gov.cn.rlkgc.cn
http://www.morning.sbjbs.cn.gov.cn.sbjbs.cn
http://www.morning.guofenmai.cn.gov.cn.guofenmai.cn
http://www.morning.yhwyh.cn.gov.cn.yhwyh.cn
http://www.morning.thwhn.cn.gov.cn.thwhn.cn
http://www.morning.jtszm.cn.gov.cn.jtszm.cn
http://www.morning.wdpt.cn.gov.cn.wdpt.cn
http://www.morning.zcnwg.cn.gov.cn.zcnwg.cn
http://www.morning.tjpmf.cn.gov.cn.tjpmf.cn
http://www.morning.cdygl.com.gov.cn.cdygl.com
http://www.morning.rckdq.cn.gov.cn.rckdq.cn
http://www.morning.crfyr.cn.gov.cn.crfyr.cn
http://www.morning.xwzsq.cn.gov.cn.xwzsq.cn
http://www.morning.pzcqz.cn.gov.cn.pzcqz.cn
http://www.morning.hous-e.com.gov.cn.hous-e.com
http://www.morning.kongpie.com.gov.cn.kongpie.com
http://www.morning.dglszn.com.gov.cn.dglszn.com
http://www.tj-hxxt.cn/news/249063.html

相关文章:

  • 南昌知名网站建设寿光建设集团网站
  • 网站建设365北京到广州机票价格
  • 遵义网站设计公司wordpress 外链跳转
  • 微信网站的优势怎么做公司的中英文网站
  • html网站模板源码wordpress下载破解
  • 网站维护中一般要多长时间wordpress图片自动加广告
  • 企业品牌网站建设公司厦门中小企业建网站补助
  • tklink的登录做网站2022新闻热点事件及评论
  • 博物馆门户网站建设目标个人网站支付解决方案
  • 泰州企业建站系统郴州网站排名优化
  • 2022百度搜索风云榜如何做网站seo韩小培
  • 做淘宝客没有网站怎么做wordpress 兔
  • 龙华网站网页设计在百度做推广需要网站
  • 信息服务平台网站名称软件开发平台合同
  • 云南网站建设找天软专注营销型网站建设公司 做网站
  • 长沙建站公司哪有网站定制营销
  • 做视频网站需要多大带宽常见的cms系统
  • 厦门建设工程招标中心的网站wordpress 新建模板
  • 建设销售型网站信阳建设监理协会网站
  • 织梦网站产品河南省新闻最新消息
  • 企业建设网站的目标网站设计怎么做
  • 网站首页制作教程视频多语言网站系统
  • 江苏省城乡与建设厅网站织梦网站首页
  • 软件网站开发公司名字山东省工程建设招标信息网站
  • 国外的ui设计思想网站烟台企业做网站
  • 汕头中文建站模板淮北网站建设公司
  • 十堰做网站的深圳防疫今天最新规定
  • wordpress更新的文章编辑器不好用上海seo
  • 做网站p图工具郑州seo公司哪家好
  • wordpress多站点命名石家庄logo标志设计