java steam 的使用

说steam 前看下kotlin的一个写法如果用java怎么写

fun main() {
    // 创建一个列表
    val fruits = listOf("Apple", "Banana", "Cherry", "Date", "Elderberry")

    // 使用 Sequence 进行过滤和映射操作
    val uppercaseFruitLengths = fruits.asSequence()
        .filter { it.length > 5 } // 过滤长度大于5的水果名
        .map { it.toUpperCase() } // 将每个水果名转为大写
        .toList() // 转换为列表收集结果

    // 输出结果
    println(uppercaseFruitLengths) // 输出: [ELDERBERRY]
}

steam的作用

Stream API 是一个强大的函数式编程工具,用于对集合进行高效、声明式的处理。

上面的demo 用java普通写法

List<String> list = Arrays.asList("Apple", "Banana", "Cherry", "Date", "Elderberry");
        List<String> list1 = new ArrayList<>();
        for (String i : list) {
            if (i.length() > 5) {
                i = i.toUpperCase();
                list1.add(i);
            }
        }
        Log.d("======i", list1.toString());

 使用steam

List<String> list = Arrays.asList("Apple", "Banana", "Cherry", "Date", "Elderberry");
        List<String> li =list.stream().filter(i->i.length()>5).map(String::toUpperCase).collect(Collectors.toList());
        Log.d("=======li",li.toString());

在写一个demo如下

下面一个有list List<Integer> numbers = Arrays.asList(1, 6, 3, 2, 8, 9);

需求:找到list中大于5的数字,之后再排序

普通的写法

List<Integer> numbers = Arrays.asList(1, 6, 3, 2, 8, 9);
        List<Integer> num = new ArrayList<>();
        for (Integer j : numbers) {
            if (j > 5) {
                num.add(j);
            }
        }
        Collections.sort(num);
        Log.d("========num", num.toString());

使用steam的写法

 List<Integer> numbers = Arrays.asList(1, 6, 3, 2, 8, 9);
 List<Integer> nums = numbers.stream().filter(i->i>5).collect(Collectors.toList());
 Log.d("========nums", nums.toString());

steam 里面的 方法有很多

 如果不清楚每个的作用,可以到源码里面看下注释

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/337944.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《机器学习》客户流失判断-python实现

客户流失判断 题目赛题描述数据说明赛题来源-DataCastle 问题描述解题思路Python实现读取数据并初步了解导入宏包读取数据查看数据类型检查缺失值描述性统计分析 可视化分析用户流失分析特征分析任期年数与客户流失的关系&#xff1a;服务类属性分析特征相关性分析 数据预处理类…

二叉树的直径(LeetCode 543)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路参考文献 1.问题描述 给你一棵二叉树的根节点&#xff0c;返回该树的直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的长度由它们之间边数…

安卓平板局域网内远程控制工控机方法

安卓平板局域网内远程控制工控机方法 将所需要远程控制的工控机通过网线连接到具有WiFi功能的路由器上&#xff0c;将安卓平板连接上WiFi&#xff0c;如下图所示 下载NoMachine远程软件安装包&#xff0c;官网地址&#xff1a;https://www.nomachine.com/ 点击Download now按钮…

C++实战:类的包含编译模型

文章目录 一、实战概述二、实战步骤&#xff08;一&#xff09;C普通类的包含编译模型1、创建普通类定义文件2、创建普通类实现文件3、创建主程序文件4、运行主程序&#xff0c;查看结果 &#xff08;二&#xff09;C模板类的包含编译模型1、创建模板类定义文件2、创建模板类实…

微前端框架篇一,了解qiankun

微前端框架篇一&#xff0c;了解qiankun ① 前置知识补充Ⅰ 什么是微前端&#xff1f;Ⅱ 什么是JS CSS沙箱&#xff1f;Ⅲ 什么是spa单页面应用&#xff1f;Ⅳ SystemJS 与 import-html-entryⅤ 现有的微前端方案 ② 了解single-spa 微前端框架③ 了解qiankun框架 ① 前置知识补…

[超级详细系列]ubuntu22.04配置深度学习环境(显卡驱动+CUDA+cuDNN+Pytorch)--[1]安装显卡驱动

[写在前面] &#x1f447;&#x1f447;&#x1f447; 如果这篇博客写的还可以的话&#xff0c;希望各位好心的读者朋友们到最下面点击关注一下Franpper的公众号&#xff0c;或者也可以直接通过名字搜索&#xff1a;Franpper的知识铺。快要过年了&#xff0c;Franpper想制作一…

腾讯云代金券如何领取?详细领取教程来了!

随着云计算的快速发展&#xff0c;越来越多的用户意识到云服务的重要性。腾讯云作为国内领先的云服务提供商&#xff0c;为广大用户提供了丰富的云计算解决方案。为了吸引用户上云&#xff0c;腾讯云推出了代金券活动&#xff0c;让用户在购买云服务时可以享受到更多的优惠。 那…

【Linux】Linux基本操作(二):rm rmdir man cp mv cat echo

承接上文&#xff1a; 【【Linux】Linux基本操作&#xff08;一&#xff09;&#xff1a;初识操作系统、ls、cd、touch、mkdir、pwd 】 目录 1.rmdir指令 && rm 指令&#xff1a; rmdir -p #当子目录被删除后如果父目录也变成空目录的话&#xff0c;就连带父目录一…

线性表的案例引入 | 稀疏多项式的运算

#include <iostream> using namespace std;#define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2typedef int Status;// 定义单链表 typedef struct PNode {float coef; //系数int expn; //指数struct PNode *nex…

「优选算法刷题」:查找总价格为目标值的两个商品

一、题目 购物车内的商品价格按照升序记录于数组 price。请在购物车中找到两个商品的价格总和刚好是 target。若存在多种情况&#xff0c;返回任一结果即可。 示例 1&#xff1a; 输入&#xff1a;price [3, 9, 12, 15], target 18 输出&#xff1a;[3,15] 或者 [15,3]示例…

windows下载安装ImageMagick

windows环境搭建专栏&#x1f517;点击跳转 win系统环境搭建&#xff08;十七&#xff09;——windows下载安装ImageMagick 文章目录 win系统环境搭建&#xff08;十七&#xff09;——windows下载安装ImageMagick1.下载2.安装3.验证3.1 依赖缺失问题3.2 依赖缺失解决 1.下载 …

二叉树 - 堆 | 数据结构中的小技巧大作用

&#x1f4f7; 江池俊&#xff1a; 个人主页 &#x1f525;个人专栏&#xff1a; ✅数据结构冒险记 ✅C语言进阶之路 &#x1f305; 有航道的人&#xff0c;再渺小也不会迷途。 文章目录 一、堆的概念及介绍二、结构图示三、堆的代码实现&#xff08;图解&#xff09;3.1 创…

6种解决msvcp140.dll文件丢失的有效方法讲解

msvcp140.dll是一个动态链接库文件&#xff0c;它是Microsoft Visual C 2015 Redistributable的一部分。这个文件通常位于Windows操作系统的System32文件夹中&#xff0c;它包含了许多用于支持C编程语言的函数和类。当您在运行一个需要使用这些函数和类的应用程序时&#xff0c…

cpp_12_异常处理

1 异常理论 1.1 何为异常&#xff1f; 在实际运行环境中发生&#xff0c;却在设计、编码、测试阶段无法预料的&#xff0c;各种潜在的问题。 1.2 报告异常的2种机制 1&#xff09;通过 return 返回值报告异常信息&#xff1a; 所有局部对象都能正确地被析构、被释放 定位错…

代码随想录算法训练营第四天 | 24.两两交换链表中的节点 19.删除链表的倒数第N个节点 160.链表相交 142.环形链表II

两两交换链表中的节点 两两交换节点&#xff0c;思路如下&#xff1a; 这样三步操作就实现了2和1两个节点的交换&#xff0c;循环操作&#xff0c;每一次循环移动到交换好的最后一个节点。循环的截止条件就是没有节点剩余了&#xff0c;或者只剩一个节点。翻转链表的精髓还是在…

机器学习实验报告- KNN算法

目录 一、算法介绍 1.1算法背景 1.2基本假设 1.3算法原理阐述 1.4算法关键点 二、数据集描述 2.1数据集介绍 2.2 数据处理 三、算法实现 3.1代码实现&#xff08;python&#xff09; 3.2代码复现结果 四、实验讨论 4.1关于KNN算法优缺点的讨论 4.2关于k值对实验结…

HTML JavaScript 数字变化特效

效果 案例一&#xff1a;上下滚动 案例二&#xff1a;本身变化 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><met…

【Python代码】以线性模型为例,详解深度学习算法流程,包括数据生成、定义模型、损失函数、优化算法和训练

**使用带有噪声的线性模型构造数据集&#xff0c;并根据有限的数据恢复该线性模型的参数。**其中包括数据集构造、模型参数初始化、损失函数定义、定义优化算法和训练等过程。是大多数算法实现过程的一个缩影&#xff0c;理解此过程有助于在开发或改进算法时更深刻了解其算法的…

【Oracle】收集Oracle数据库内存相关的信息

文章目录 【Oracle】收集Oracle数据库内存相关的信息收集Oracle数据库内存命令例各命令的解释输出结果例参考 【声明】文章仅供学习交流&#xff0c;观点代表个人&#xff0c;与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) 【Oracle】收集Oracle数据库内存相关的信息 …

受电端协议芯片是如何让Type-C接口设备实现快充?

随着科技的不断进步&#xff0c;USB Type-C接口在电子产品中越来越普及。而在这个接口中&#xff0c;Type-c受电端协议芯片起着至关重要的作用。那么&#xff0c;什么是Type-c受电端协议芯片&#xff1f;它又是如何工作的呢&#xff1f;本文将为您揭开Type-c受电端协议芯片的神…