我有下面的代码,并根据布尔值进行分组

Map<Boolean, List<Test>> products = testList
        .stream()
        .collect(Collectors.groupingBy(Test::isValidUser));
        

我想收Map<String, List<Test> 英镑.

基于布尔值,希望将自定义键添加为"有效"和"无效".

如果isValidUser为真,则要将密钥添加为"有效",否则密钥应为"无效"

有没有可能在Java11中实现这一点?

注意:不在测试类中添加字符串变量

推荐答案

您可以使用groupingBy采集器中键分类器函数中的三元运算符来执行此操作.下面是它的样子.

Map<String, List<Test>> products = testList.stream()
        .collect(Collectors.groupingBy(t -> t.isValidUser() ? "Valid" : "Invalid"));

Java相关问答推荐

为什么JFrame paint()多次绘制同一点(或根本不绘制)?

如何在Spring Security中设置CustomLogin路径?

日食IDE 2024-03在Ubuntu下崩溃,导致hr_err_pid.log

Select 按位运算序列

在spring—data中自动发现native—sql查询期间遇到重复的SQL别名[id]

弹簧靴和龙目岛

在模拟超类中设置非setter属性的值

将关键字与正文中的_Allowed匹配,但带有__Signing可选后缀

什么是Java原子属性的正确getter和setter

为什么Collectors.toList()不能保证易变性

在Oracle JDBC连接中,连接失效和身份验证失效是什么意思?

在JDK Flight Recorder中只记录单个线程

Java中HashSet的搜索时间与TreeSet的搜索时间

何时调用密封层次 struct 的switch 中的默认情况

在线程Java中调用Interrupt()之后调用Join()

根据应用程序 Select 的语言检索数据

为什么Java编译器为没有参数的方法(getter方法)创建桥接方法

如何使用 Java 替换位于特定标记内的 XML 标记的 CDATA 内的值

Spring Boot应用程序中的自定义constraintvalidator不会被调用

如何在Java中立即显示ProgressBar对话框?