收集器分组按java 8

2023-12-02

考虑这两个类

学科类别:

class Subject{
    long id;
    String category;
    String description;
    public Subject(long id,String category,String description){
        this.id=id;
        this.category=category;
        this.description=description;
    }
    // getters, setters, toString,...    
}

观察者类:

class Observer{
    long id;
    Subject subject;
    public Observer(long id,Subject subject){
        this.id=id;
        this.subject=subject;
    }
    // getters, setters, toString,...
}

并考虑一下观察员名单

Subject s1 = new Subject(1, "sport", "subject 1");
Subject s2 = new Subject(2, "music", "subject 2");
Subject s3 = new Subject(3, "sport", "subject 3");

List<Observer> observers = Arrays.asList(new Observer(1, s1),
        new Observer(2, s1), new Observer(3, s2), new Observer(4, s3));

到目前为止,我尝试并成功做到的是将观察者按主题分组,如下所示

Map<Subject, List<Observer>> observersGroupedBySubject = observers.stream().collect(
                Collectors.groupingBy(Observer::getSubject));

但是我如何使用上述相同的逻辑按主题类别对观察者进行分组(Collectors, groupingBy, method reference,...)?

例如,我如何获得订阅了类别等于的主题的观察者sport使用这样的东西

Map<String, List<Observer>> observersGroupedBySubjectCategory = ...;
observersGroupedBySubjectCategory.get("sport");

Thanks.


Use

Collectors.groupingBy(o -> o.getSubject().getCategory())

或定义getSubjectCategory() in Observer类及使用方法参考:

Collectors.groupingBy(Observer::getSubjectCategory)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

收集器分组按java 8 的相关文章

  • 从 java sdk 向对等方发送提案时出现访问被拒绝错误

    我正在尝试使用以下代码查询区块链并收到访问被拒绝错误 我也遇到同样的错误sendTransactionProposal方法也是如此 UserContext adminUserContext RegisterEnrollUser regist
  • JPA 中的复合键

    我想创建一个具有自动生成的主键的实体 而且还有一个由其他两个字段组成的唯一复合键 我如何在 JPA 中执行此操作 我想这样做是因为主键应该用作另一个表中的外键 并且使其复合并不好 在下面的代码片段中 我需要命令和模型是唯一的 pk当然是主键
  • 存根方法时出现 InvalidUseOfMatchersException

    我有这个 TestNG 测试方法代码 InjectMocks private FilmeService filmeService new FilmeServiceImpl Mock private FilmeDAO filmeDao Bef
  • Spring Security 自定义过滤器

    我想自定义 Spring security 3 0 5 并将登录 URL 更改为 login 而不是 j spring security check 我需要做的是允许登录 目录并保护 admin report html 页面 首先 我使用教
  • @RestController 没有 @ResponseBody 方法工作不正确

    我有以下控制器 RestController RequestMapping value base url public class MyController RequestMapping value child url method Req
  • 是否有任何简单(且最新)的 Java 框架可用于在 Swing 应用程序中嵌入电影?

    我正在构建一个小型 Swing 应用程序 我想在其中嵌入一部电影 重要的是 这个应用程序是一个 WebStart 应用程序 并且该库应该能够打包在我启动的 jnlp 中 即 不依赖于本机库 我知道并尝试过 JMF 但我认为与其他框架相比 其
  • GWT - 如何组织项目以拥有多个网页以及它们之间的导航

    我是 GET 的新手 顺便说一句 它给我留下了深刻的印象 并且发现它对于像我这样熟悉 C NET 桌面技术并愿意编写 Web 应用程序的人来说非常有吸引力 我根据 GWT Eclipse 向导生成的示例启动了自己的项目 该项目生成带有面板的
  • 什么时候可以在 Java 中使用 Thead.stop() ?

    Thread stop 的 Java 文档听起来好像如果您调用 Thread stop 世界就会终结 已弃用 这种方法本质上是不安全的 停止线程 Thread stop 导致它解锁所有已锁定的监视器 作为未经检查的 ThreadDeath
  • Spring Security SAML2 使用 G Suite 作为 Idp

    我正在尝试使用 Spring Security 5 3 3 RELEASE 来处理 Spring Boot 应用程序中的 SAML2 身份验证 Spring Boot 应用程序将成为 SP G Suite 将成为 IDP 在我的 Maven
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 是否可以通过编程方式查找 logback 日志文件?

    自动附加日志文件以支持电子邮件会很有用 我可以以编程方式设置路径 如以编程方式设置 Logback Appender 路径 https stackoverflow com questions 3803184 setting logback
  • 生成的序列以 1 开头,而不是注释中设置的 1000

    我想请求一些有关 Hibernate 创建的数据库序列的帮助 我有这个注释 下面的代码 在我的实体类中 以便为合作伙伴表提供单独的序列 我希望序列以 1000 开头 因为我在部署期间使用 import sql 将测试数据插入数据库 并且我希
  • 从 GitHub 上托管的 Spring Cloud Config Server 访问存储库的身份验证问题

    我在 GitHub 上的存储库中托管配置 如果我将回购公开 一切都好 但如果我将其设为私有 我将面临 org eclipse jgit errors TransportException https github com my user m
  • 读取电子邮件的文本文件转换为 Javamail MimeMessage

    我有一个电子邮件原始来源的文本文件 直接从 gmail 复制 如果您单击 查看原始文件 您就会看到它 我想读入该文件并将其转换为 MimeMessage 如果您好奇为什么 我设置了 JavaMaildir 并且需要用电子邮件填充它的收件箱以
  • Docker 和 Eureka 与 Spring Boot 无法注册客户端

    我有一个使用 Spring Boot Docker Compose Eureka 的非常简单的演示 我的服务器在端口 8671 上运行 具有以下应用程序属性 server port 8761 eureka instance prefer i
  • 使用布尔值进行冒泡排序以确定数组是否已排序

    我有以下用于冒泡排序的代码 但它根本不排序 如果我删除布尔值那么它工作正常 我知道 由于我的 a 0 小于所有其他元素 因此没有执行交换 任何人都可以帮助我解决这个问题 package com sample public class Bub
  • Java Swing:需要一个高质量的带有复选框的开发 JTree

    我一直在寻找一个 Tree 实现 其中包含复选框 其中 当您选择一个节点时 树中的所有后继节点都会被自动选择 当您取消选择一个节点时 树中其所有后继节点都会自动取消选择 当已经选择了父节点 并且从其后继之一中删除了选择时 节点颜色将发生变化
  • 在 Google App-Engine JAVA 中将文本转换为字符串,反之亦然

    如何从字符串转换为文本 java lang String to com google appengine api datastore Text 反之亦然 Check Javadoc http code google com appengin
  • OpenCSV:将嵌套 Bean 映射到 CSV 文件

    我正在尝试将 bean 映射到 CSV 文件 但问题是我的 bean 具有其他嵌套 bean 作为属性 所发生的情况是 OpenCSV 遍历属性找到一个 bean 然后进入其中并映射该 bean 内的所有数据 如果找到另一个 bean 它就
  • 洪水填充优化:尝试使用队列

    我正在尝试创建一种填充方法 该方法采用用户指定的初始坐标 检查字符 然后根据需要更改它 这样做之后 它会检查相邻的方块并重复该过程 经过一番研究 我遇到了洪水填充算法并尝试了该算法 它可以工作 但无法满足我对 250 x 250 个字符的数

随机推荐

  • 用下划线替换文件名中的括号和空格

    我用这一行删除文件夹名称上的空格 find tmp depth name execdir rename s g 有没有办法从文件名中删除空格和括号并添加下划线 例如 我有 a dir 1 file with spaces and paren
  • XSLT:从 xsd 获取枚举

    我在 xsd 文件中有这个枚举
  • 什么是 Unix 时间戳以及为什么使用它?

    什么是 Unix 时间戳 在 PHP 中 当处理日期时 该函数strtotime 输出一些整数值 那是什么 我试图了解这一点 但我无法得到满意的答案 特别是为什么我们需要使用转换日期strtotime 什么是 Unix 时间戳 简而言之 U
  • 使用 CSOM 对 Sharepoint Online 进行身份验证

    我觉得我在这里错过了一些东西 我尝试通过 C 控制台应用程序登录 SPO 租户 但收到错误 无法联系网站 https xxx sharepoint com 或者网站不支持 SharePoint Online 凭据 响应状态代码为 未经授权
  • 未声明的标识符 - 不确定为什么

    我刚学C 我写了以下内容 void main void unsigned int curr dat 0 The current dat file to use unsigned char ch 0 Key entered at keyboa
  • 在 CMake 中列出 include_directories

    我有一个 cmake 构建 其中我正在搜索一堆依赖项 即我有很多实例 FIND PACKAGE SomePackage if SOMEPACKAGE FOUND include directories SOMEPACKAGE INCLUDE
  • 在 PostgreSQL 中使用 1 个查询选择特定行的最佳方法?

    我有一个 Java 应用程序 要求我在给定特定条件的情况下查找特定记录 例如 我有一张桌子 id song artist record label 1 Never Gonna Give You Up Rick Astley Rickroll
  • highcharts:在可见时而不是在页面加载时触发动画

    我有一个页面分为几个部分 可以通过锚点访问 有没有办法让 highcharts 动画在其特定部分变得可见而不是在页面加载时触发 http jsfiddle net YFMSb 2 图表位于 技能 下 因此希望在调出页面的该部分时出现初始动画
  • 如何使 bootstrap-multiselect 不可见我的默认值?

    我正在使用引导多选插件使处理下拉菜单更容易 但是 我在尝试默认隐藏菜单时遇到了问题 基本上 我有一个复选框 当选中此复选框时 我会显示下拉菜单 当取消选中它时 菜单应该隐藏 默认情况下该复选框未选中 因此我希望默认情况下也隐藏菜单 我尝试使
  • 如何确定Azure中应用程序服务计划CPU百分比90%的原因?

    我试图了解最大 CPU 百分比 内存利用率的原因应用服务计划但无法在天蓝色门户中找到任何简单的方法 在我的应用程序服务计划中 创建了 20 个应用程序服务 在 20 个应用程序服务中 我仅将 2 3 个应用程序服务用于用户界面 其他应用程序
  • 如何在 R 中执行 SQL 脚本时使用动态值

    我的 R 工作流程现在涉及处理大量查询 RPostgreSQL图书馆 我真的想让代码将来变得易于维护和管理 我开始从不同的地方加载大型查询 SQL files this有帮助 并且效果很好 然后我开始使用插值 that有帮助 这意味着我可以
  • 如何在 Apache 中使用 pcntl_fork() ?

    这是我的代码 里面index php 只是一个例子 pid pcntl fork if pid 1 die failed to fork else if pid nothing to do else putDataIntoWebServic
  • android mediaplayer - 播放一次铃声

    我尝试使用 MediaPlayer 类播放一次设备铃声 我必须使用 MediaPlayer 因为我将铃声与应用程序中的其他音频源一起使用 所以我尝试以下方法来播放随机铃声 但我无法阻止它循环 它继续播放 是否可以使用 MediaPlayer
  • 为什么不能将“使用静态”功能与私有枚举一起使用?还有其他选择吗?

    我有一个使用私有枚举的类 我想使用 C 6 使用静态 功能 如下所示 using static ConsoleForSimpleTests Foo MyEnum namespace ConsoleForSimpleTests public
  • 如何使用 XSSF (Apache POI 3.8) 调整图表大小?

    我想知道是否有办法使用 Apache POI XSSF 调整图表大小 目前我正在使用 Excel 模板 该模板具有一个图表 当使用 nameRanges 插入更多数据时 该图表会发生变化 一切正常 我面临的唯一麻烦是 图表始终保持相同的大小
  • 更改 Android 中的通知意图

    我有一项服务显示一条通知 我希望该通知能够在用户每次按下该通知时转到我的应用程序的特定活动 通常它是用户显示的最后一个 但并非总是如此 如果该活动之前已启动 则应返回该活动 如果没有 则应在应用程序的任务内打开该活动 并将其添加到活动任务中
  • 用对象动态填充 ArrayList

    我有抽象类 Human 它由其他两个类 Student 和 Worker 扩展 我正在尝试填写两个数组列表 Student 类型的 ArrayList 和 Worker 类型的 ArrayList 是动态的 public abstract
  • http 到 https 重定向 (tomcat/jboss)

    我们希望将访问应用程序的 http url 的所有流量重定向到 https 为此 我们在deploy jboss web deployer conf 目录中的 web xml 中设置以下值
  • 在perl中将元素添加到xml文件

    我有一个 xml 文件 如下所示
  • 收集器分组按java 8

    考虑这两个类 学科类别 class Subject long id String category String description public Subject long id String category String descr