首页 > 其他分享 >关于Stream流的一些常用方法

关于Stream流的一些常用方法

时间:2023-07-08 11:58:06浏览次数:33  
标签:Stream 常用 Collectors stream map collect 关于 ShopItem itemList

前言

  在这里先说明一下,这个重在应用,本文就不对概念跟描述做过多赘述。

应用

1)提取对象数组中的某一个字段(带去重)

List<String> orderIdList = orderList.stream().map(e -> e.getOrderId()).distinct().collect(Collectors.toList());//收集全部orderId
Set thirdCategoryIdSet = thirdCategoryNoList.stream().collect(Collectors.toSet());

 

2)将List转为map

这里分多种,

value为List

Map<String, List<ShopItem>> itemIdMap = itemList.stream().collect(Collectors.groupingBy(ShopItem::getCItemId));

value为对象

Map<String, ShopItem> map = itemList.stream().collect(Collectors.toMap(a -> a.getItemId(), a -> a, (k1, k2) -> k1));

value 为对象的一个字段

Map<String, String> map = itemList.stream().collect(Collectors.toMap(ShopItem::getItemId, ShopItem::getItemName));

 

3)获取列表的某一个元素进行拼接,指定符号分割

String remarks = itemList.stream().map(ShopItem::getItem).collect(Collectors.joining(";"));

 

4)分页获取列表

List<ShopItem> list = itemList.stream().skip(pageSize * (i - 1)).limit(pageSize).collect(Collectors.toList());

注意 要提前算好分页,免得超过数组下标

 

标签:Stream,常用,Collectors,stream,map,collect,关于,ShopItem,itemList
From: https://www.cnblogs.com/linruitao/p/17536929.html

相关文章

  • MySQL——常用函数
    可以直接被另一段程序调用的程序或代码字符串函数concat,字符串拼接lower,将字符串转为小写upper,将字符串转为大写lpad(str,n,pad),左填充用字符串pad对str进行左填充,达到n个字符串长度rpad(str,n,pad),右填充用字符串pad对str进行右填充,达到n个字符串长度trim,去掉字符串头部和......
  • MySQL常用知识点总结
    MySQL常用知识点总结参考地址:(https://maifile.cn/est/a3206887806899/pdf)【一】知识点总结【二】多表查询【三】常用函数【四】Excel数据清洗......
  • 关于接口和抽象类
    接口(Interface)和抽象类(AbstractClass)用于实现代码的抽象和封装。定义方式:接口是一种纯粹的抽象概念,只定义了方法的签名,没有实现;抽象类是一个可以包含抽象方法和具体方法的类。实现方式:一个类可以实现多个接口;一个类只能继承一个抽象类。方法:接口中的方法默认是公共的抽......
  • 关于手打栈(Stack)的最基本用法
    写在前面这是本蒟蒻的第一篇博客。毕竟不是题解,也没有冠以题解的名号。作者就是个时常不带脑子的傻瓜,因此定有错误、不足之处,还请多多包涵,并欢迎批评指正!栈栈(stack)是一种数据结构,在STL标准库中可以直接使用。具体地说,栈就是一种只允许在一端进行插入或删除操作的线性表。与队列......
  • 每日汇报 第二周第六天 JAVA字符串复习和JAVA常用类
    今日所学:把JAVA字符串进行了一下复习;掌握如何创建Integer类、Double类、Boolean类和Character类并熟悉相关的常用方法;理解Number类的“装箱”和“拆箱”过程明日计划:继续学习JAVA常用类遇到困难:练科三等一下午没练上回来还被雨浇透了......
  • Docker CLI docker load 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • Ubuntu常用参考合集
    系统安装双系统安装、UbuntutoGohttps://www.cnblogs.com/alanjiang/p/16322156.htmlrEFInd多系统引导安装https://www.cnblogs.com/alanjiang/p/17534204.html安装优化zsh&Oh-my-zshhttps://www.bilibili.com/video/BV1dX4y127JL/https://blog.csdn.net/qq_4479......
  • Spark 以及 spark streaming 核心原理及实践 - (2)
    SparkStreaming运行原理spark程序是使用一个spark应用实例一次性对一批历史数据进行处理,sparkstreaming是将持续不断输入的数据流转换成多个batch分片,使用一批spark应用实例进行处理。从原理上看,把传统的spark批处理程序变成streaming程序,spark需要构建什么?需要构建4个东西:一个静......
  • Node.js 常用知识
    1、安装、卸载modules参考:https://www.cnblogs.com/phpjason/p/16354320.htmlnpminstallxxx下载安装包到[email protected]可以精确下载某个版本npminstall--savexxx下载的安装包信息写入到package.json中的dependencies列表中npminstall--save-......
  • 关于通过bat脚本-自动使用mstsc-远程桌面命令登录到远程windows主机的方法
    在Windows系统中,我们可以通过系统自带的mstsc远程桌面工具,登录到远端的windows服务器主机但是需要输入用户名和密码,回车、于是笔者想了一下,能不能创建一个bat文件,双击后,就会自动的传入用户名和密码进行登录经过查询和实验、还真有这样的办法(当然在正式的环境,不建议这样操作,因为......