首页 > 编程语言 >Java stream 简述

Java stream 简述

时间:2023-04-21 16:47:38浏览次数:35  
标签:Java Stream stream 数据源 元素 简述 集合 操作

Java  Stream是Java  8中的一个新特性,它是一个集合元素(数组、List、Set等)处理的高级抽象,它提供的操作可以让开发人员以声明式的方式轻松地处理集合元素。

Stream有以下特点:

1.  它不是集合(集合是一种静态的数据结构,而Stream是在集合上运行的计算)
2.  它不支持修改数据源的数据(它不会修改原始的数据源)
3.  它可以让你用lambda表达式处理集合中的元素
4.  它可以处理无限长度的集合

下面是Java  Stream的一些常用操作:

1.  filter:过滤掉不符合条件的元素,只保留符合条件的元素
2.  map:映射操作,将元素转换为新的元素
3.  flatMap:将一个元素映射为多个元素
4.  distinct:去重操作,去掉重复的元素
5.  sorted:排序操作,根据指定的规则对元素进行排序
6.  limit:截断操作,只保留指定数量的元素
7.  skip:跳过操作,跳过指定数量的元素
8.  forEach:遍历操作,遍历集合中的每个元素
9.  reduce:归约操作,将集合中的元素进行归约操作,得到一个结果
10.  collect:收集操作,将集合中的元素收集到一个容器中

利用Stream,我们能够以简单的方式处理集合元素,使整个程序更加简单和易于维护。

标签:Java,Stream,stream,数据源,元素,简述,集合,操作
From: https://www.cnblogs.com/DSH-/p/17340924.html

相关文章

  • java如何使用线程池 new threadPoolExecutor()
    //使用线程池不返回结果脚本中使用的ClassB{privatestaticfinalExecutorServiceexecutor=newThreadPoolExecutor(4,10,3000L,TimeUnit.MILLISECONDS,newArrayBlockingQueue<>(500),newThreadFactoryBuilder().setNameFormat("publish-pool-%d").build(),(......
  • Srping AOP的学习(二):java代理
    1.代理的介绍说的java的代理,就离不开java的代理模式。而java的代理模式就是通过引入一个代理对象来代替我们的实际对象进行操作,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。所以代理就是实现对功能的扩展。2.代理的分类代理按照大的分类可以分......
  • Java基础语法(一):Java程序的结构
    前言Java是一种流行的面向对象编程语言,可以用于开发各种应用程序,从桌面应用程序到企业级Web应用程序和移动应用程序。编写Java程序时,良好的程序结构是至关重要的,因为它可以帮助程序员更好地组织代码并使其易于维护和扩展。本文将介绍Java程序的结构,包括程序组成部分、代码结构和组......
  • Java Selenium4 ChromeDriver获取指定的POST请求
    前言最近项目上需要去找某个网站对应的请求数据,但是这个网站有个奇怪的反爬机制,你如果直接去请求这个url(listPro)是获取不到数据的,它会返回一段加密后的js代码过来,如果在浏览器上执行也不行,需要在这个网站上执行,这段代码主要是加密设置一个cookie,我在浏览器上复制这个cookie后,可以......
  • 【汇智学堂】JAVA多线程实现的小游戏-龟兔争霸-2
    角色入场:publicvoidpaint(Graphicsg){g.clearRect(0,0,1600,900);Imageimage=newImageIcon("D:\\综合案例\\10\\src\\tu.png").getImage();//获取图片资源g.drawImage(image,PositionA-50,100,RecWidth,RecHeight......
  • 【汇智学堂】JAVA多线程实现的小游戏-弹球-2
    显示球板Ui类/**\*定义界面*显示球板*/packagecom.huizhi;importjavax.swing.*;importjava.awt.*;publicclassUiextendsJFrame{staticintPositionA=50,RecWidth=50,RecHeight=20;publicUi(){setTitle("弹球游戏");......
  • 重新学习Java线程原语
    Synchronized曾经是一个革命性的技术,在当前仍然有重要的用途。但是,现在是时候转向更新的Java线程原语,同时重新考虑我们的核心逻辑。自从Java第一个测试版以来,我就一直在使用它。从那时起,线程就是我最喜欢的特性之一。Java是第一种在编程语言本身中引入线程支持的语言。那是一个......
  • java EE开发之Servlet第十一课:反射基础三
    javaEE开发之Servlet第十一课:反射基础三1.使用反射机制形成通用sql语句1)构建insert语句publicstaticvoidsave(Objectobj){ //获取传递过来对象的Class类对象 Classc=obj.getClass(); //获取数据库连接 Connectionconn=getConn(); //准备执行SQL语句的对象(车......
  • JAVA入门第一天随记
    通过狂神第一天的课,对内容进行总结:一、关于markdown语法的学习1.对常用的语法进行总结1.标题2.字体斜体粗体粗斜体3.删除线无序列表2.快捷键Ctrl+Z:撤销Ctrl+X:剪切Ctrl+S:保存win+R:打开运行win+E:打开我的电脑3.打开CMD的方式1.Win+R输入cmd打开控......
  • JAVA获取当前时间的三种方法
    1、java.util.Dateday=newDate();SimpleDateFormatsdf=newSimpleDateFormat(“yyyy-MM-ddHH:mm:ss”);System.out.println(sdf.format(day));通过Date类来获取当前时间,比较常用。需要使用Java.util.Date类,速度一般。2、SimpleDateFormatsdf=newSimpleDateFormat......