Java:Stream的基本用法(Java8)

Java8 Stream简述及基本操作 文章目录Java8 Stream API1. Java Stream2. Different ways to create streams2.1 Stream.of(val1,val2,val3…)2.2 Stream.of(arrayOfElements)2.3 List.stream()2.4 Stream.generate() or Stream.iterate()2.5 String ch... 阅读详情
package xyz.jangle.stream;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
/**
 * java 8 Stream 基本用法
 * @author Administrator
 *
 */
public class MainTestAll {

	public static void main(String[] args) {

		List<String> list = new ArrayList<String>();
		list.add("AA11");
		list.add("CC33");
		list.add("BB22");
		list.add("DD44");
		list.add("EE55");
		// 1. 过滤(Filtering) 使用 filter 方法可以轻松地从集合中筛选出满足特定条件的元素。
		List<String> collect = list.stream().filter(p -> p.startsWith("A")).collect(Collectors.toList());
		collect.forEach(a -> System.out.println(a));
		
		// 2. 映射(Mapping)	map 方法可以将流中的每个元素转换或映射为另一个元素。
		List<Integer> collect2 = list.stream().map(String::length).collect(Collectors.toList());
//		List<Integer> collect2 = list.stream().map(p -> p.length()).collect(Collectors.toList());
		collect2.forEach(a -> System.out.println(a));
		
		//3. 排序(Sorting)	使用 sorted 方法可以对流中的元素进行排序。
		System.out.println("排序前:");
		list.stream().forEach(a -> System.out.println(a));
		List<String> collect3 = list.stream().sorted().collect(Collectors.toList());
		System.out.println("****************");
		System.out.println("排序后");
		collect3.stream().forEach(a -> System.out.println(a));
		
		//4. 匹配(Matching) anyMatch, allMatch, 和 noneMatch 方法用于检查流中的元素是否匹配给定的条件。
		boolean anyMatch = list.stream().anyMatch(p -> p.startsWith("A"));
		System.out.println("存在任意元素,该元素以A开头:"+anyMatch);
		boolean allMatch = list.stream().allMatch(p -> p.length() ==4);
		System.out.println("所有元素的长度=4:"+allMatch);
		boolean noneMatch = list.stream().noneMatch(p -> p.startsWith("P"));
		System.out.println("没有任意元素是以P开头的:"+noneMatch);
		
		List<Integer> list2 = new ArrayList<Integer>();
		list2.add(1);
		list2.add(2);
		list2.add(3);
		list2.add(4);
		
		
		//5.归约(Reduction)reduce 方法可以将流中的元素归约成一个值,如求和、求积等。
		Integer sum = list2.stream().reduce(0,Integer::sum);
		System.out.println("规约:"+sum);
		//6.收集流
		List<Integer> collect4 = list2.stream().collect(Collectors.toList());
		System.out.println("收集流:"+collect4.size());
		//7.数值流 可以使用 IntStream, LongStream, DoubleStream 来处理原始数值类型的数据。
		IntStream intStream = list.stream().mapToInt(String::length);
		int sum2 = intStream.sum();
		System.out.println("数值流"+sum2);
		
		
	}

}

 

1、filter 过滤、

2、map 映射、转换、

3、sorted 排序、

4、allMatch 全部匹配、 返回boolean

4、anyMatch 任意匹配、返回boolean

4、noneMatch 全部不匹配  返回boolean

【Java8 新特性 5】Java 8 stream的详细用法 一、Java8 Stream概述 Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的Lambda,给我们操作集合(Collection)提供了极大的便利。 Stream流是JDK8新增的成员,允许以声明性方式处理数据集合,可以把Stream流看作是遍历数据集合的一个高级迭代器。 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选、排序、聚合等。 1、使用流的好处 代码以声明性方式书写,说明想要完成什么,而. 阅读详情

相关推荐

深度残差网络的无人机多目标识别

深度残差网络的无人机多目标识别 人工智能技术与咨询 来源:《图学学报》。作者翟进有等 摘要:传统目标识别算法中,经典的区域建议网络(RPN)在提取目标候选区域时计算量大,时间复杂度较高,因此提出一种级联区域建议网络(CRPN)的搜索模式对其进行改善。此外,深层次的卷积神经网络训练中易产生退化现象,而引入残差学习的深度残差网络(ResNet),能够有效抑制该现象。对多种不同深度以及不同参数的网络模型进行研究,将两层残差学习模块与三层残差学习模块结合使用,设计出一种占用内存更小、时间复杂度更低的新型多捷.

m0_62870606的博客 3106

java8 while用法_Java8新特性:Stream基本使用示例

实体类(示例用到的):public class Employee {private int id;private String name;private int age;private double salary;public Employee() {}public Employee(String name) {this.name = name;}public Employee(String na...

weixin_26911099的博客 455

VM下安装linux虚拟机(ubuntu)和Intel parallel XE 2013(ifort2013)

VM下安装ubuntu和ifort2013跑自己的模式 由于新冠疫情,本人只能在家工作,很多重要的文件和程序都留在了办公室的linux机器上,工作无法正常开展。本来准备去办公室把机器搬回家不曾想学校所有门禁都关闭,不许进入,何时解禁也没有明确日期。科研不能等人,没条件科研只能想办法创造条件了。 以前在自己的笔记本(windows)上装过一次VM和ifort但无奈程序不能正常跑,所以之前就放弃了。本...

pangdahai3366的博客 1497

《Java8实战》读书笔记04:Stream流操作(上) - 基本用法

Java8实战 - 读书笔记 - Stream 流

灵台方寸山斜月三星洞 1409

库卡机器人负载设置和自动负载测算

1.1在专家或者以上的权限下—“投入运行”——“工具/基座标管理”—“工具/工件”—添加1.2根据当前的工具所在的tool选择指定工具号;若是没有建立tool需要先建立建立方法看1.3负载数据的填写质量:抓手自重+产品重量总和(需要小于额定负载值)X、Y、Z :总质量的重心位置(基于法兰盘中心的位置计算,如下图的X_FLANGE、Y_FLANGE、Z_FLANGE)【此数据可以根据仿真或者CAD数据得出】A、B、C:是总质量绕着法兰盘中心所安装的角度位置 【此数据可以根据仿真或者CAD数据得出】

weixin_43462131的博客 3099

eMMC数据擦除的方式

接下来主要是讲解erase、trim、discard的差异,涉及的command有CMD35、CMD36、CMD38。一般用来擦除整卡或者某些分区,如果只想擦除一个。以下是device status的部分解释。eMMC的数据擦除方式有6种,分别是。将会跳过写保护,只执行其他的范围。Discard的命令序列是。Erase的命令序列是。的范围有包含写保护,Trim的命令序列是。

DPJimmy的博客 1763

Java8中新增的Stream API

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34088598的博客 125

40.8K星爆火!Crawl4AI实战突破Cloudflare 5秒盾:AI反爬新范式,爬虫再也不被封

Crawl4AI的爆火(40.8K星)不是偶然——它解决了爬虫工程师最头疼的反爬问题,让爬虫从“体力活”变成“脑力活”,不用再花费大量时间配置指纹、编写行为脚本。但要注意:爬虫必须遵守目标网站的robots.txt协议,不得用于非法爬取数据(比如用户隐私、商业机密)。合理使用技术,才能长久落地。如果你在使用Crawl4AI时遇到具体问题(比如绕过更严格的反爬、批量爬取配置),欢迎在评论区交流,我会第一时间分享解决方案!

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1601

Java 8 stream的详细用法

一、概述 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询。也可以使用 Stream API 来并行执行操作。简而言之,Stream API 提供了一种高效且易于使用的处理数据的方式。 特点:         1 . 不是...

旅行者 30万+

AI Agent Harness Engineering 开发效率工具:Prompt工程、调试与监控平台

随着AI Agent技术从原型探索走向企业级落地,开发者普遍面临Prompt迭代无版本管控、Agent执行黑盒无法定位错误、上线后无监控导致故障频发、多团队协作效率低下四大核心痛点,据2024年LLMOps行业报告显示,没有配套工具链的Agent开发团队平均迭代周期是有工具链团队的6倍,线上故障率高达23%,平均资源浪费超过60%。

小白菜的博客 423

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(1-16)

计算机组成原理(第三版)唐朔飞-第六章计算机的运算方法-课后习题(1-16)

weixin_45735391的博客 8万+

Java 8系列之Stream的基本语法详解

概述继Java 8系列之Lambda表达式之后,我们来了解Stream。Stream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。聚合操作为了学习聚合的使用,在这里,先定义一个数据类:public class Student { int no

行云间 7万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java8中Stream详细用法大全

一、概述 Java 8 是一个非常成功的版本,这个版本新增的Stream,配合同版本出现的Lambda ,给我们操作集合(Collection)提供了极大的便利。Stream流是JDK8新增的成员,允许以声明性方式处理数据集合,可以把Stream流看作是遍历数据集合的一个高级迭代器。Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找/筛选/过滤、排序、聚合和映射数据等操作。使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的

qq_45228323的博客 6万+

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java 8 Stream的用法详解

一、概述 Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。使用Stream API对集合数据进行操作,就类似于使用SQL执行的数据库查询。也可以使用Stream API来并行执行操作。简而言之,Stream API提供了一种高效且易于使用的处理数据的方式。 特点 1、不是数据结构,不会保存数据 2、不会修改原来的数据源,它会将操作后的数据保存到另外一个对象中。 3、惰性求职,流在中间处理过程中,只是对操作进行了记录,并不会立即

京北游戏官方 1万+

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Java8中Stream的用法

学习如何使用Stream API Stream APl ( java.util.stream)把真正的函数式编程风格引入到Java中。这是目前为止对Java类库最好的补充,因为Stream API可以极大提供Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。 Stream是Java8中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行非常复杂的查找、过滤和映射数据等操作。

weixin_51363503的博客 2502

Java8 Stream详细用法介绍

Stream流详细使用教程 filter过滤 map映射 sorted排序 distinct去重 concat合并 limit限制 skip跳过 collect收集 match匹配 reduce规约

weixin_45698637的博客 2700

java8 stream reduce 方法用法 java stream reduce 方法使用方法

java8 stream reduce 方法用法 java stream reduce 方法使用方法 在使用Stream的reduce方法时,发现该方法有 3个重载方法,分别是: 一个参数、两个参数、三个参数的,那么这3个重载方法的区别和用法呢, 本文将研究3个重载方法之间的区别,理清 一个参数、两个参数、三个参数 的使用场景。

HaHa_Sir的博客 9476

Java8的stream().map()用法

Java8,使用stream流处理map

C_0010的博客 4万+

Stream流的一些基本用法

stream流操作是Java 8提供一个重要新特性,它允许开发人员以声明性方式处理集合,其核心类库主要改进了对集合类的 API和新增Stream操作。Stream类中每一个方法都对应集合上的一种操作。将真正的函数式编程引入到Java中,能 让代码更加简洁,极大地简化了集合的处理操作,提高了开发的效率和生产力。同时stream不是一种,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O channel等。

Linzc19的博客 4821

java8 stream index_Java8 Stream基本使用

1. 什么是StreamStream是一个数据处理接口,本身不存储任何数据。大概有20多个方法,每个都很好用,并且含有函数式编程里的filter,map,reduce方法。Stream的数据有三个来源:Collection, Array或者根据需要生成。2. 创建Stream在Java8中,添加了许多能够产生Stream的方法,如Pattern类中的splitAsStream方法,下面是三种典型常...

weixin_36131782的博客 2643

java8中的Stream用法详解

1.为什么java8中加入StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data

bitcarmanlee的博客 5万+

Java8之Stream基本特性

什么是Stream Stream 中文称为 “流”,通过将集合转换为这么一种叫做 “流” 的元素序列(注意是抽象概念),通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的流水线操作。通俗来说就是你只用告诉“流”你需要什么,便在出口处等待结果接口。 上图为Steam操作的基本流程,在后面的学习过程中可反复与具体的代码进行对照,加深学习印象。 Stream相关概念 Str...

Baron_ND的博客 4160
上一篇: 可用的.gitignore文件
下一篇: Tomcat:启用https(Windows)
博风
博客等级 码龄16年 442粉丝 357原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值