gpt4 book ai didi

java - 如何使用 Java 流将一组对象转换为对象字段到一组字段的映射?

转载 作者:行者123 更新时间:2023-12-02 01:26:28 24 4
gpt4 key购买 nike

如果我有一些 A 类

public class A {
String name;

String value;
}

我有一个 Set,我想将其转换为 Map<String, Set<String>> ,它使用流类将 A.name 映射到一组 A.value,因为 A 的许多实例将共享相同的名称 String,但没有一个实例会共享相同的值 String。有办法做到这一点吗?

最佳答案

创建 Map<String, Set<String>> ,映射 A.name到一组A.value ,需要使用以下方法:

Map<String, Set<String>> map = set.stream()
.collect(Collectors.groupingBy(A::getName,
Collectors.mapping(A::getValue,
Collectors.toSet())));

该代码使用对 A 上的 getter 方法的方法引用类,尽管可以使用 lambda 表达式代替,例如A::getName可以替换为o -> o.name .

关于java - 如何使用 Java 流将一组对象转换为对象字段到一组字段的映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56842845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com