groupingBy 与 Boolean 但添加自定义 String 作为 Key

groupingBy with Boolean but add custom String as Key

我有以下代码并根据布尔值进行分组

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

我想收藏为Map<String, List<Test>

基于布尔值,想将自定义键添加为“有效”和“无效”。

如果 isValidUser 为真,要将键添加为“有效”,否则键应为“无效”

有没有可能在 Java 11 中做到这一点?

注意:未在测试中添加字符串变量class

您可以在 groupingBy 收集器的关键分类器函数中使用三元运算符来完成此操作。这是它的样子。

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