我正在寻找group by的实现,拥有然后根据lambda表达式中的count进行过滤.
select COUNT(employee_id),department_id  from employee
GROUP BY department_id
HAVING COUNT(employee_id) > 1

是否有使用lambda表达式实现此目的的简单实现.

解决方法

您可以将groupingBy收集器与counting()和collectAndThen结合使用:
import static java.util.stream.Collectors.collectingAndThen;
import static java.util.stream.Collectors.counting;
import static java.util.stream.Collectors.groupingBy;

...

Map<Long,Long> map = 
    employees.stream()
             .collect(collectingAndThen(groupingBy(Employee::getDeptId,counting()),m -> { m.values().removeIf(v -> v <= 1L); return m; }));

请注意,这里不能保证groupingBy返回的映射的可变性,因此您可以使用重载版本并提供具体的可变实例(如果需要).

在java 8中使用group进行计数的实现的更多相关文章

  1. c# – 如何使用Fluent断言来测试不平等测试中的异常?

    我试图在C#中使用Fluent断言写一个大于overridden操作符的单元测试.如果任何一个对象为空,则此类中的大于运算符应该抛出异常.通常当使用FluentAssertions时,我将使用lambda表达式将该方法放入一个动作中.然后我将运行该操作并使用action.ShouldThrow.然而,我不知道如何把一个操作符放入一个lambda表达式.我宁可不使用NUnit的Assert.Throws(),ThrowsConstraint或[ExpectedException]属性来保持一致.解决方法你可

  2. Java lambda表达式和switch语句会导致eclipse崩溃正常吗?

    总结以上是DEVMAX为你收集整理的Javalambda表达式和switch语句会导致eclipse崩溃正常吗?如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  3. 如何使用java8 lambda表达式抛出自定义检查的异常?

    解决方法简短的回答是,你做不到.这是因为forEachOrdered接受了Consumer,并且未声明Consumer.accept会抛出任何异常.解决方法是做类似的事情但是,在这些情况下,我通常会在process方法中处理异常,或者使用for-loops以旧式方式处理异常.

  4. Java Lambda表达式可避免多次迭代

    伙计们,考虑以下示例,给定一个Trade对象列表,我的代码需要返回一个包含交易量24小时,7天,30天和所有时间的数组.使用普通的旧迭代器,这只需要对集合进行一次迭代.我正在尝试使用Java8流和Lambda表达式来做同样的事情.我想出了这个代码,它看起来很优雅,工作正常,但需要在列表上进行4次迭代:如何在列表中仅使用一次迭代来实现相同的目标?

  5. c# – “不包含”动态lambda表达式

    下面的代码执行“包含”表达式:我对表达式不是很熟悉,我不知道如何将否定放入表达式函数中,并且在“Expression”类中找不到任何合适的方法.有没有类似的方法动态创建“不包含”表达式?

  6. c# – 如何检查我的lambda表达式是否为null?

    但我仍然得到同样的错误.解决这个问题的正确方法是什么?解决方法首先,您可以从满足条件的对象中选择十进制值.然后在.Sum()方法之前使用.DefaultIfEmpty()方法:如果序列为空,则DefaultIfEmpty()函数会插入具有默认值的单个元素.而且我们知道,十进制类型的defualt值是0.0M.另外:你没告诉我们Linq什么?你正在用吗.但是,如果您使用LinqToEntity,则必须将代码更改为:

  7. c# – 将lambda表达式转换为派生类型

    我需要一点魔法.我相信我想做的事情是有道理的,但如果我没有看到计划的问题,原因就会受到欢迎.我有一个表达表达式我想要转换/转换甚至创建一个全新的表达式:表达式这被用作EF过滤器查询,作为参数传递给存储库方法.存储库返回一个可枚举的实体,所以我可以很容易地使用协方差,但是我想在返回它之前对它的派生状态进行一些后处理.在我看

  8. c# – 记录lambda表达式

    在When方法中,我想记录一个谓词或Func返回false.但是,只记录“未满足的条件”并没有给我太多信息.如果我这样调用方法:有没有办法将该表达式转换为可读/有意义的字符串以进行日志记录?解决方法在普通的lambda中没有太多有用的元数据.您可以使用表达式树:然后在呼叫站点:输出将是:Conditionnotmet:x=>False但是,表达式树引入了更多的开销,而条件.Compile也不便宜.所以我一般不推荐这种方法,但它会输出你想要的有用信息.

  9. c# – 我可以在lambda表达式中调用函数吗?

    我想做以下但我认为这不会起作用:一个.这有用吗?湾如果没有,我是否需要查询故事,然后按分数对它们进行排序?请注意,如果score不适用于任何实例,则可能值得将其设置为静态.另一种选择是使score()方法成为Story或扩展方法的实例方法.请注意,这仅适用于LINQ到对象;如果您正在使用LINQ-to-sql/LINQ-to-Entities等,您需要使用lambda来完成整个事务,或者使用UDF映射函数context)来计算价值.使用原始语法的示例:添加一个,您可以使用:

  10. c# – 从PropertyInfo创建表达式

    我正在使用一个需要Expression的API,并使用它来创建不同对象之间的映射:如何从PropertyInfo创建必要的表达式?

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部