iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >Java stream 分组操作
  • 235
分享到

Java stream 分组操作

javastream 2023-08-31 16:08:59 235人浏览 安东尼
摘要

根据单/多字段分组 单字段分组可以直接使用指定字段,多字段分组则采用拼接Key的形式 单字段: //单字段分组Map singleAttr = list.stream().collect( Collectors

根据单/多字段分组

单字段分组可以直接使用指定字段,多字段分组则采用拼接Key的形式

单字段:

//单字段分组Map> singleAttr = list.stream().collect(                Collectors.groupingBy(t -> t.getNativePlace()));//还可以写成简化版//Map> collect = list.stream().collect(// Collectors.groupingBy(User::getNativePlace));

多字段:

//多字段分组Map> multiAttr = list.stream().collect(                Collectors.groupingBy(t -> t.getNativePlace()+"_"+t.getAge()));

多层级:

//多级分组Map>> multiLevel = list.stream().collect(        Collectors.groupingBy(                t -> t.getNativePlace(),                Collectors.groupingBy(t -> t.getAge())        ));

测试

package test;import java.util.ArrayList;import java.util.List;import java.util.Map;import java.util.Optional;import java.util.stream.Collectors;public class Test {    public static void main(String[] args) {        ArrayList list=new ArrayList();        list.add(new User(11,"a"));        list.add(new User(12,"a"));        list.add(new User(14,"c"));        list.add(new User(14,"c"));        //单字段分组        Map> singleAttr = list.stream().collect(Collectors.groupingBy(t -> t.getNativePlace()));        //还可以写成简化版        //Map> collect = list.stream().collect(Collectors.groupingBy(User::getNativePlace));        //多字段分组        Map> multiAttr = list.stream().collect(Collectors.groupingBy(t -> t.getNativePlace()+"_"+t.getAge()));        //多级分组        Map>> multiLevel = list.stream().collect(                Collectors.groupingBy(                        t -> t.getNativePlace(),                        Collectors.groupingBy(t -> t.getAge())                )        );    }}class User{    private int age;    private String nativePlace;    public String getNativePlace() {        return nativePlace;    }    public void setNativePlace(String nativePlace) {        this.nativePlace = nativePlace;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public User(int age,String nativePlace) {        this.age = age;        this.nativePlace=nativePlace;    }}

来源地址:https://blog.csdn.net/zcy_wxy/article/details/130192370

--结束END--

本文标题: Java stream 分组操作

本文链接: https://www.lsjlt.com/news/386246.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java stream 分组操作
    根据单/多字段分组 单字段分组可以直接使用指定字段,多字段分组则采用拼接Key的形式 单字段: //单字段分组Map singleAttr = list.stream().collect( Collectors...
    99+
    2023-08-31
    java stream
  • Stream流中的groupingBy分组操作
     code: //根据医院编号,查询医院所有科室信息 Department departmentQuery = new Department(); departmentQuery.setHoscode(hoscode); Example ...
    99+
    2023-09-01
    java mysql sql
  • Java Stream流实现多字段分组groupingBy操作
    近期的项目里,遇到一个需求:对于含有多个元素的List,按照其中的某几个属性进行分组,比如Report::getPersonID、Report::getSchoolYear、Report::getDa...
    99+
    2023-10-28
    java
  • java Stream去重操作
     1.根据对象的某个属性去重: 网上找的stream流去重方法,可以根据类的某个属性去重,这里记录一下 public static Predicate distinctNotByKey(Function keyExtract...
    99+
    2023-09-01
    java python linux
  • 一文详解Java中的Stream的汇总和分组操作
    目录前言一、查找流中的最大值和最小值二、汇总三、连接字符串四、分组1、分组2、多级分组3、按子组数据进行划分后记前言 在前面的文章中其实大家也已经看到我使用过collect(Coll...
    99+
    2024-04-02
  • java的Stream API终端操作示例分析
    这篇文章主要介绍“java的Stream API终端操作示例分析”,在日常操作中,相信很多人在java的Stream API终端操作示例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”j...
    99+
    2023-06-29
  • java Stream怎么操作元素
    本篇内容主要讲解“java Stream怎么操作元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java Stream怎么操作元素”吧!说明java.util.Stream代表了一系列能够执行...
    99+
    2023-06-30
  • Java 8:Stream API 流式操作
    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Java 8:Stream API Java 8 中的 Stream API 是一组...
    99+
    2023-08-16
    java python
  • Java stream多字段分组(groupingBy)
    近期的项目里,遇到一个需求:对于含有多个元素的List,按照其中的某几个属性进行分组,比如Persion::getAge、Persion::getType、Persion::getGender等字段。下面就让我们讨论一下如何比较优雅的按...
    99+
    2023-08-21
    java 后端 stream
  • stream流——分组
    stream流——续 Stream流引入 Lambda表达式,基于Lambda所带来的函数式编程,又引入了一个全新的Stream概念,用于解决集合类库。 测试的实体实例 List listUser = new ArrayList(); ...
    99+
    2023-08-20
    java
  • WCF Stream操作限制实例分析
    这篇文章主要讲解了“WCF Stream操作限制实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“WCF Stream操作限制实例分析”吧!WCF支持对Stream对象的操作,尤其对于传...
    99+
    2023-06-17
  • Java Stream 最全操作用法合集
    Java 8 引入了Stream流的操作,让我们在开发的过程中感受到了很多的便利,小宋我也花时间总结了下关于Stream的堪称最全的使用方法,话不多说,直接放大招。 流(stream)的类型 Java 8提供了两种方式去创建流: 1、str...
    99+
    2023-08-22
    java jvm 开发语言
  • Java Stream流 Map 分组方式汇总
    java老式的分组方式(对list for循环然后 if判断 放入map) 代码复杂,易读性差,维护性差,故本文汇总了Stream流中的分组方法供大家参考,如对您有帮助,请抬抬高贵的小手点个赞吧,欢迎大佬留下高见 (以下方法默认都是java...
    99+
    2023-09-27
    java
  • Java中用Stream分组并求各组数量
    比如给了我一个班级的所有人的姓氏和姓名对象集合,根据这个集合求出各姓氏有多少人。直接上代码。 User的实体类对象为 @Data@NoArgsConstructor@AllArgsConstructorpublic class User {...
    99+
    2023-08-31
    java intellij-idea idea
  • IntelliJ IDEA中怎么调试Java Stream操作
    这篇文章主要介绍了IntelliJ IDEA中怎么调试Java Stream操作的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇IntelliJ IDEA中怎么调试Java ...
    99+
    2023-06-30
  • Java集合Stream流操作的基本使用教程分享
    目录事前准备FilterSortedMapMatchCountReduce总结Java 中可以使用 java.util.Stream 对一个集合(实现了java.util.Colle...
    99+
    2023-02-21
    Java Stream流操作 Java Stream流
  • Java8中Stream API操作的示例分析
    这篇文章主要介绍了Java8中Stream API操作的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.什么是StreamAPI?Java8中有两大最为重要的改变。...
    99+
    2023-06-25
  • Nodejs文件操作和stream的示例分析
    小编给大家分享一下Nodejs文件操作和stream的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!NodeJS文件操作...
    99+
    2024-04-02
  • 怎么在java中使用Stream操作元素
    怎么在java中使用Stream操作元素?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;...
    99+
    2023-06-14
  • java stream实现分组BigDecimal求和,自定义分组求和
    前言 随着微服务的发展,越来越多的sql处理被放到java来处理,数据库经常会使用到对集合中的数据进行分组求和,分组运算等等。 那怎么样使用java的stream优雅的进行分组求和或运算呢? 一、准备测试数据 这里测试数据学生,年龄类型...
    99+
    2023-08-16
    java jvm 开发语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作